正则表达式检查[0-6]之间的简单数字

时间:2014-01-29 11:36:00

标签: javascript regex

var number = '731231';

var myRegex = /[0-6]/; 

console.log(myRegex.test(number));

任何人都能解释一下吗?

IMO写为[0-6]的正则表达式只会检查0到6之间的数字,但在上面的情况下,大小为731231的值也会被评估为真

4 个答案:

答案 0 :(得分:6)

任何此类数字存在时,您的正则表达式匹配。如果您只想匹配 这样的数字,请使用

/^[0-6]+$/

匹配一个字符串,其中包含0-6之间的任意数字。如果您想要一个数字,请省略+

/^[0-6]$/

答案 1 :(得分:2)

耀应该使用

  var myRegex = /^[0-6]$/;

您正在寻找启动 ^ 的字符串,然后包含一个 0..6位立即结束 $

您的实施/[0-6]/正在字符串中寻找 0..6位 ,这就是 731231 遇到的原因这个标准。

答案 2 :(得分:2)

您正在检查是否存在0到6之间的某个数字,情况就是这样。

var number = '731231';

var myRegex = /^[0-6]+$/; 

console.log(myRegex.test(number));

<强>更新

但是,如果您希望字符串匹配满足规则0 >= N <= 6的数字 这就是你想要的

var myRegex = /^[0-6]$/;

答案 3 :(得分:1)

您的正则表达式正在检查字符串中是否出现以下情况之一:

0,1,2,3,4,5或6

这是真的,因为那里有1,2和3。

如果要检查整个字符串是否为数字,则可以使用:

var myRegex = /^[0-9]+$/;