/^1-9{0,1}|0$/ 我写的这个 00 可以验证通过;
注意 01 02 03这种都是不合法的,自测的时候注意下哈~
求解答 谢谢
刚开始也没说 00 这种是不行的。
对 Number 类型来说前置 0 是无意义的:
console.log( 0 === 00 ); // true
console.log( 1 === 000000000000000001 ); // true
function bt (x) {
return Number.isInteger(x) && x>=0 && x<=99 ;
}
所以 00、01 这种只能先作为字符串验证
Number 转字符串前置0是会被自动忽略的:
var x = 00;
console.log(x.toString()); // 0
console.log(`${x}`); // 0
13 回答12.8k 阅读
7 回答1.9k 阅读
3 回答1.1k 阅读✓ 已解决
2 回答1.2k 阅读✓ 已解决
6 回答889 阅读✓ 已解决
6 回答1.1k 阅读
2 回答1.3k 阅读✓ 已解决
首先00是可以验证通过的,因为0+ === 0,一个0和无数个0是完全等于的。其次这个正则有错误,/^1-9{0,1}|0$/ 这样是 1-9最多有一个或者是0,只能通过0-9,正确的验证正则是/^([1-9]\d|\d)$/