为了账号安全,请及时绑定邮箱和手机立即绑定

js 验证0~99的整数

js 验证0~99的整数

慕无忌1623718 2019-02-13 17:19:44
/^1-9{0,1}|0$/ 我写的这个 00 可以验证通过;注意 01 02 03这种都是不合法的,自测的时候注意下哈~求解答 谢谢
查看完整描述

2 回答

?
温温酱

TA贡献1752条经验 获得超4个赞

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


查看完整回答
反对 回复 2019-02-27
?
慕勒3428872

TA贡献1848条经验 获得超6个赞

刚开始也没说 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


查看完整回答
反对 回复 2019-02-27
  • 2 回答
  • 0 关注
  • 966 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信