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 = -1i <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是通过的,其他都是不通过的。
只匹配一位数字:^[0-9|10]$匹配任意位数字:^[0-9|10]*$[]的含义是只能选一个匹配,而0-9是一个范围用|和10隔开,就等于[]能匹配1-10的任意一个。^是脱字符代表开始,$美元符代表结束。*的含义是前边的表达式可以有0-N个。