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

ael*_*lor 1 javascript regex

var number = '731231';

var myRegex = /[0-6]/; 

console.log(myRegex.test(number));
Run Code Online (Sandbox Code Playgroud)

有谁能解释一下?

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

Bol*_*wyn 6

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

/^[0-6]+$/
Run Code Online (Sandbox Code Playgroud)

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

/^[0-6]$/
Run Code Online (Sandbox Code Playgroud)

  • @aelor:阅读所有关于[锚点](http://www.regular-expressions.info/anchors.html).如果你不想让`11`匹配(因为它大于6),请删除`+`. (2认同)