正则表达式只允许字母字符、连字符、撇号和句点



我从链接中得到了一个参考:Javascript验证只允许字母字符,连字符(-(,点(.(,撇号('(和空格

我有完全相同的要求。但是对于正则表达式/^[a-zA-Z '.-]+$/也接受以下字符串:

  1. 塔维什。(我只需要中间名的特殊字符(

所以我尝试了以下正则表达式:

^[a-zA-Z]*[ '.-][a-zA-Z]+$

但它也在失败。我也尝试过 Regex100,但没有成功。请让我知道我该如何实现?

删除*量词以使字母位于开头,并在末尾考虑它们:

^[a-zA-Z](?:[ '.-a-zA-Z]*[a-zA-Z])?$

现场演示

相关内容

最新更新