如何通过正则表达式仅对数字进行错误验证?

时间:2011-10-24 18:56:45

标签: jquery regex

我需要验证域名注册,因为它不能仅由数字组成,验证需要符合我的算法的工作方式,即返回完整的域名(没有.com,.net等扩展名)如果它是正确的。

我尝试了一些没有成功的表达方式:

^[^0-9]+$ # that one wont let he type a number
^\w[^0-9]+\w$ # that wont work too

有人可以帮助我吗?

3 个答案:

答案 0 :(得分:3)

所以,为了清楚起见,你希望它在包含唯一数字的字符串上返回False吗?试试这个:

编辑4 根据对问题的字面解释,这就是您所需要的:

\D

对于包含不是数字的字符的任何字符串,它将匹配True。

但是,根据您要匹配网址的事实,您可能需要更多类似的内容:

^\w*[a-zA-Z_]\w*$

这将匹配包含字母数字和_的任何字符串,只要它包含至少一个字母或_

答案 1 :(得分:1)

您想要至少一个不是数字的字符。所以:^.*[^0-9].*$

如果你只想要字母(但不是整个.),你需要先行:^\w*(?![0-9])\w\w*$,意思是:没有数字,但是字母。

http://www.regular-expressions.info/lookaround.html

答案 2 :(得分:1)

(?=.*\D)

使用lookahaed。如果字符串仅由数字组成,则会失败。