我需要一个匹配Numbers / Persian Characters和Latin(A-Z)
的正则表达式代码我写了以下代码
preg_match("/[A-Za-z\s\x{0600}-\x{06FF}0-9_\.\- ]/u",$_POST['input'] )
并且工作正常。
但是有一个问题,我不想输入任何(@,#,!,%,$,&,*)字符。
任何想法?
答案 0 :(得分:3)
在你的正则表达式中使用negative lookahead
断言来检查是否没有这样的字符。将它放在正则表达式的开头。我的意思是在/
之后。
(?!.*[(@#!%$&*)])
例如:
preg_match("/^(?!.*[(@#!%$&*)])[A-Za-z\s\x{0600}-\x{06FF}0-9_\.\- ]+$/u",$_POST['input'] )