我想在我的react native
应用程序中验证姓名,我需要
regex
用于验证名称
有效名称:John博士 圣彼得大教堂 无效的姓名:Dr .. John 圣彼得大教堂。
两个特殊字符不应并排,而只能是'和。被允许 。同样,名称不应该以这些特殊字符开头,而可以以。结尾。不与'
下面是我正在使用的regex
,但它不包含'和。并排
/[!0-9@#$%^&*()_+\-=\[\]{};':"\\|,<>\/?]/
答案 0 :(得分:-1)
[a-zA-Z]+\.?\s?'?(?!$)
应该可以解决问题。在JavaScript中效果很好。
我没有花太多时间使它尽可能高效,所以可能会有更好的方法来实现这一目标。
祝你好运。
[编辑]
这在大多数情况下应该有效:[a-zA-Z ]+(\.|')?[a-zA-Z ]+(\.|')?
这是我要测试的内容:
Dr. John St. Pet .er's
个匹配项:Dr. John St.
和Pet .er'
Dr.'. John St.. Peter''s'
个匹配项:Dr.
和John St.
和Peter'
Anthony
个匹配项:Anthony
Timbo J. Fadds
个匹配项:Timbo J. Fadds
Sally Esquire
个匹配项:Sally Esquire
只有在对带有很多“非法”字符的字符串进行测试时,它才会真正混乱。
无论如何,在您确切说明输入内容和输出内容之前,我不会花更多的时间。
[编辑]
[^(\.|')|(\.|')]+(\.|')?
可能有用...
答案 1 :(得分:-1)
我建议您尝试一下,希望对您有用:
var $SCRIPT_ROOT = {{ request.script_root|tojson|safe }};
答案 2 :(得分:-1)
正则表达式应如下所示:
^(?!(.*(([^a-zA-Z\.\'\s])|(\.{2,})|('{2,}|\s{2,}))))
您可以在此处派生并添加更多测试用例: