谷歌没有太多帮助,所以我希望这里有人可以帮助我?
preg_match(‘^(MR|MRS)./s[a-z]/s[a-z]$/i’, $_POST[‘fullname’])
我需要一个正则表达式,它允许名字带有先生或夫人的称呼,后跟两个由任意数量的空格分隔的文本字符串。我的不工作,我不知道为什么。先感谢您!
谷歌没有太多帮助,所以我希望这里有人可以帮助我?
preg_match(‘^(MR|MRS)./s[a-z]/s[a-z]$/i’, $_POST[‘fullname’])
我需要一个正则表达式,它允许名字带有先生或夫人的称呼,后跟两个由任意数量的空格分隔的文本字符串。我的不工作,我不知道为什么。先感谢您!
正则表达式是无效的语法,它需要以相同的分隔符开始和结束:
preg_match(‘/^mrs?\.\s+[a-z]+\s+[a-z]+$/i’, $_POST[‘fullname’])
............^..........................^
但是要知道,这是一个脆弱的正则表达式使用 -有多个名字,使用中间名,或者有双桶姓氏,或者在你的名字中有重音 - 例如 Zöe并不少见。
/ - start regex
^mr - string starts with mr
s? - optional "s"
\. - period
\s+ - 0 or more whitespace chars (tabs or spaces)
[a-z]+ - 0 or more letters
\s+ - 0 or more whitespace chars (tabs or spaces)
[a-z]+ - 0 or more letters
$ - end of string
/ - end of regex
i - whole regex is case insensitive.
[AZ]?[a-zA-Z]{1,30}[ ]?[.]?[']?[ ]?[a-zA-Z]{1,30}[ ]?[.]?[ ']?[ ]?[a-zA-Z]{0,30}[ ]?[a-zA-Z]{0,30}
适用于以下名称:
还有很多...
尝试这个 :
preg_match("/^(MR|MRS)\.?(\s*\w*)+$/i", $_POST[‘fullname’])
如果点不是可选的..删除“?”