标签: regex
我需要验证'name'字段的用户输入。
名称应满足以下要求。
为此,我提出了以下正则表达式
(^([A-Za-z]+([-']?|\s+))+([a-zA-Z])+$){1,25}
使用上面的RE我可以验证字符串以字母开头,并且只包含上面提到的特殊字符。但由于我使用'+',无法验证其长度。此外,它不接受单个字母(例如:'a'在我的情况下也是有效的名称)。
如何验证上述所有情况?
答案 0 :(得分:1)
可接受的解决方案是:
^(?!.*?([' -])\1)\b([a-z '-]{1,25})\b$
使用修饰符i忽略大写/小写字符。 regex101演示可以是seen here。
i