我正在使用 RegEx 对名称的文本字段进行验证。我正在使用下面的 RegEx,但它不起作用:
^[a-zA-Z,'.\-\s]*$
还有这个:
(?! $)[a-zA-Z ]
请帮忙,谢谢!
我正在使用 RegEx 对名称的文本字段进行验证。我正在使用下面的 RegEx,但它不起作用:
^[a-zA-Z,'.\-\s]*$
还有这个:
(?! $)[a-zA-Z ]
请帮忙,谢谢!
这应该工作:^[^\d]+$
. 这意味着它将查看字符串,如果字符串由至少一个非数字字符组成,它将匹配它。
编辑:
根据@nhahtdh 的评论,上面的正则表达式将允许任何不是数字的东西。你可以使用这样的东西:^[A-Za-z.-]+(\s*[A-Za-z.-]+)*$
. 这将只允许它们之间有空格的字符串。这将阻止用户提供一个充满空格的字段,但如果用户提供如下内容,它将起作用:Hey there. My name is - foo bar
. 你所拥有的:^[a-zA-Z,'.\-\s]*$
稍作调整^[a-zA-Z,'.\-\s]+$
将允许用户提供空白字段。
我想这就是你想要的
^(?!\s+$)[a-zA-Z,'. -]+$
-------
|->checks if the whole string is blank.if so it won't match
我将这个用于名称,因为在我的情况下,名称不包含特殊字符,它至少包含一个字符和任意数量的中间空格
[a-zA-Z]+[ a-zA-Z]*