正则表达式验证全名

迪维亚

全名可以是由空格分隔的 1 到 3 个单词,包括以下内容:

  • 名字(允许字母和连字符-),
  • 中间名(仅允许使用字母)和
  • 姓氏(允许字母和连字符-

注意:全名不应超过 50 个字符。

有效输入:
Abc
Abc-abc abc
Abc-abc abc abc-abc
abc abc abc

无效输入:(
abc abc-abc abc
abc qwertyuiopasdfghjklzxcvbnmqwertyuiopasdfghjkllz超过 50 个字符)

我最初的正则表达式如下:
^([a-zA-Z\-]{1,50}|[a-zA-Z\-]+\s{1}[a-zA-Z\-]+|[a-zA-Z\-]+\s{1}[a-zA-Z]+\s{1}[a-zA-Z\-]+)$

我无法为 2 个和 3 个单词添加长度检查。

第四只鸟

如果支持,您可以使用正向前瞻来检查字符串是否不包含 51 个字符。

使用可选组内的可选组来匹配第二名和姓氏,防止第二名包含 -

您不必转义字符类末尾的连字符。

^(?!.{51})[a-zA-Z-]+(?: [a-zA-Z]+(?: [a-zA-Z-]+)?)?$

正则表达式演示

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章