猿问

js 验证0~99的整数

/^1-9{0,1}|0$/ 我写的这个 00 可以验证通过;

注意 01 02 03这种都是不合法的,自测的时候注意下哈~

求解答 谢谢


慕无忌1623718
浏览 967回答 2
2回答

温温酱

首先00是可以验证通过的,因为0+ === 0,一个0和无数个0是完全等于的。其次这个正则有错误,/^1-9{0,1}|0$/ 这样是 1-9最多有一个或者是0,只能通过0-9,正确的验证正则是/^([1-9]\d|\d)$/

慕勒3428872

刚开始也没说 00 这种是不行的。对 Number 类型来说前置 0 是无意义的:console.log( 0 === 00 );&nbsp; // trueconsole.log( 1 === 000000000000000001 );&nbsp; // truefunction bt (x) {&nbsp; &nbsp; return Number.isInteger(x) && x>=0 && x<=99 ;}所以 00、01 这种只能先作为字符串验证Number 转字符串前置0是会被自动忽略的:&nbsp; &nbsp; var x = 00;&nbsp; &nbsp; console.log(x.toString());&nbsp; &nbsp;// 0&nbsp; &nbsp; console.log(`${x}`);&nbsp; // 0
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答