求js正则表达式只能输入0到15的数字!
1 回答
拉丁的传说
TA贡献1789条经验 获得超8个赞
正确的写法应该是
var p = /^([0-9]|(1[0-5]))$/;
里面有几个要点,
1、[0-9]|(1[0-5]) 这里是指明,要么是0-9的单个数字,要么是1开头并且后跟0-5的数字
2、^ 和 $ 夹在前后指明必须完全匹配
为了证明这个正则表达式是正确的,你可以试试在 Chrome 浏览器的控制台里执行下面的小测试程序:
var p = /^([0-9]|(1[0-5]))$/;
for (var i = -1; i < 20; ++i) {
console.log(i + ' ' + p.test(i));
}
输出为:
1 false
0 true
1 true
2 true
3 true
4 true
5 true
6 true
7 true
8 true
9 true
10 true
11 true
12 true
13 true
14 true
15 true
16 false
17 false
18 false
19 false
看到了吧,只有0到15是通过的,其他都是不通过的。
- 1 回答
- 0 关注
- 1299 浏览
添加回答
举报
0/150
提交
取消