正则表达式 - 只接受字母,空格和 - (破折号),不允许使用数字

时间:2012-02-08 05:41:26

标签: asp.net regex validation

我当前的正则表达式是 / [^ 0-9] / ,它不允许使用数字。但问题是它接受像()这样的其他字符,并且它接受带有数字的字母。请帮助。

感谢。

4 个答案:

答案 0 :(得分:2)

制定您的规则/要求。如果您只想允许使用字母 - 请尝试

@"^[a-zA-Z]+$"

提示 - 应用集合论。如果所有字符都属于通用集。一切都是允许的。之后您应用规则:如果您不允许数字,则表示允许除数字之外的所有内容。

答案 1 :(得分:1)

您正在从错误的方向接近问题。

怎么样:

[a-zA-Z \-]+

答案 2 :(得分:1)

[-a-zA-Z ]+

在任何一种情况或空格中使用短划线或字母'a'到'z'。

或者,为了获得更好的国际支持,请考虑是否有可以使用的命名字符类。在POSIX系统上,您可以写:

grep -E '^[-[:alpha:] ]+$'
例如,

,这将获取重音字符。可能有一个类似的符号(可能不是那个符号)。

答案 3 :(得分:0)

对于您的问题,您可以使用此正则表达式

[^()\d]

它不允许使用数字和括号()。即使是中间的数字也不会出现