日期:2014-05-16  浏览次数:20334 次

这个正则为什么?

<script>
alert(/\d{2,4}/.test("12345"));
</script>

这个正则不是匹配2个、3个或者最多4个数字吗?为什么我用5个数字,浏览器给我的回应也是true?
正则

------解决方案--------------------
alert(/^\d{2,4}$/.test("12345")); 
------解决方案--------------------
/^\d{2,4}$/.test("12345")
这样才是最少2个,最多4个
------解决方案--------------------
5个数字不是刚好包含4个数字啊

引用:
Quote: 引用:

这是包含2个、3个或者4个数字。。不是最多4个

"12345"是5个数字   为什么输出true呢?

------解决方案--------------------
可以这样理解,正则表达式是搜索的方法,test只是在目标字符串中找到了所要求的子字符串。
所以4#的正则表达式限定了开始结束标志,才能正确的达到你的要求。