/^\d{1,2}|1\d{2}$/
/^(\d{1,2}|1\d{2})$/
这两组正则表达式 加不加括号效果是不一样的
测试代码
<html>
<head>
<title>Test reg</title>
</head>
<body>
<input type="text" id="test_input" value="">
<input type="button" value="test reg" onclick="test()">
<body>
<script type="text/javascript">
function test() { var value = document.getElementById("test_input").value; //alert(value); var regExp = /^(\d{1,2}|1\d{2})$/; //var regExp = /^\d{1,2}|1\d{2}$/; if(regExp.test(value)) { alert("Match OK!"); } else { alert("Match Fail!"); } }
</script>
</html>
/^\d{1,2}|1\d{2}$/
这个表是以一到两个数字开头的字符串 或者 以1后面接两个数字结尾(也就是100-199之间结尾)的字符串
/^(\d{1,2}|1\d{2})$/
这个表是 ^0到99$ 或者^100到199$,也就是0到199
其实这个涉及到 多选结构
看《精通正则表达式》(Jeffrey著)的13页
看到14页的时候 他就举个例子是
^From|Subject|Date:
和
^(From|Subject|Date):
之间的区别