我从链接中得到了一个参考:Javascript验证只允许字母字符,连字符(-(,点(.(,撇号('(和空格
我有完全相同的要求。但是对于正则表达式/^[a-zA-Z '.-]+$/
也接受以下字符串:
- 。
- 塔维什。(我只需要中间名的特殊字符(
所以我尝试了以下正则表达式:
^[a-zA-Z]*[ '.-][a-zA-Z]+$
但它也在失败。我也尝试过 Regex100,但没有成功。请让我知道我该如何实现?
删除*
量词以使字母位于开头,并在末尾考虑它们:
^[a-zA-Z](?:[ '.-a-zA-Z]*[a-zA-Z])?$
现场演示