2015-12-24 84 views
1
^[a-zA-Z0-9]$ 

我检查输入以匹配数字和字母,但是,我该如何检查输入是否只包含零?Javascript正则表达式检查输入只包含零

例如:

'01weye0y4' = true; 
'00' = false; 
+0

如果用户只输入“11111”或“22222”等,该怎么办?有效吗? –

+2

所以只需要使用数字'Number(str)=== 0' – epascarello

+0

'/^0 + $ /'有什么问题? – Barmar

回答

1

它更容易,因为@epascarello说,只是为了检查是否输入值的数FORM等于0(与+val === 0或类似的东西)。但是,如果你需要使用的模式,这里有一个可能的方法:

var p = /^(?!0+$)[a-zA-Z0-9]+$/; 
p.test('00'); // false 
p.test('001001weye0y4'); // true 

的关键是使用负先行检查串是否只包含零。


这可以很容易地扩展,以检查任何位:

var p = /^(?!([0-9])\1*$)[a-zA-Z0-9]+$/; 

如果该值仅使用单个数字(因此两者“0”,“00”,“1”这一模式失败,'11'不通过支票)。

+0

谢谢!像魅力一样工作。 –

相关问题