我想要正则表达式,它允许我任何字符,但它不能允许(0-9)数字?
答案 0 :(得分:50)
像这样:^[^0-9]+$
说明:
^
匹配字符串的开头[^...]
匹配 0-9
表示0到9之间的任何字符+
匹配前一个或多个$
匹配字符串的结尾答案 1 :(得分:45)
答案 2 :(得分:14)
\D
是非数字,因此\D*
是一行中的任意数量的非数字。因此,您的整个字符串应与 ^\D*$
匹配。
检查http://rubular.com/r/AoWBmrbUkN它是否完美。
答案 3 :(得分:1)
最好使用^[^0-9]+$
之类的正则表达式,而不是[a-zA-Z]+
之类的正则表达式,因为您的应用可能有一天可能会接受来自诸如波兰语之类的用户的用户输入,而应该接受更多字符,比仅[a-zA-Z]+
。使用^[^0-9]+$
可以轻松排除任何此类不良副作用。
答案 4 :(得分:0)
您可以在javascript中尝试类似的方法:
var regex = /[^a-zA-Z]/g;
,并有一个keyup事件。
$("#nameofInputbox").value.replace(regex, "");
答案 5 :(得分:-1)
简单到[a-z]+
,或[\S]+
,甚至[a-zA-Z]+
?