3

我正在使用 RegEx 对名称的文本字段进行验证。我正在使用下面的 RegEx,但它不起作用:

^[a-zA-Z,'.\-\s]*$

还有这个:

(?! $)[a-zA-Z ]

请帮忙,谢谢!

4

3 回答 3

3

这应该工作:^[^\d]+$. 这意味着它将查看字符串,如果字符串由至少一个非数字字符组成,它将匹配它。

编辑:

根据@nhahtdh 的评论,上面的正则表达式将允许任何不是数字的东西。你可以使用这样的东西:^[A-Za-z.-]+(\s*[A-Za-z.-]+)*$. 这将只允许它们之间有空格的字符串。这将阻止用户提供一个充满空格的字段,但如果用户提供如下内容,它将起作用:Hey there. My name is - foo bar. 你所拥有的:^[a-zA-Z,'.\-\s]*$稍作调整^[a-zA-Z,'.\-\s]+$将允许用户提供空白字段。

于 2013-02-13T07:11:50.867 回答
0

我想这就是你想要的

^(?!\s+$)[a-zA-Z,'. -]+$
  -------
     |->checks if the whole string is blank.if so it won't match
于 2013-02-13T07:16:10.397 回答
0

我将这个用于名称,因为在我的情况下,名称不包含特殊字符,它至少包含一个字符和任意数量的中间空格

[a-zA-Z]+[ a-zA-Z]*
于 2020-09-08T02:07:52.217 回答