我在用正则表达式的时候,定义如下:
var pattern=/\d{2,5}/
为什么当输入的数值超过5位了才不给我报错,难道我设错了,应该怎么设?

解决方案 »

  1.   

    呵呵,没有限制起止标志!L@_@K  <script type="text/javascript">
      <!--
        var pattern=/^\d{2,5}$/;
        var numA = "123";
        var numB = "1";
        var numC = "123456";
        alert(pattern.test(numA));
        alert(pattern.test(numB));
        alert(pattern.test(numC));
      //-->
      </script>
      

  2.   

    L@_@K  <script type="text/javascript">
      <!--
        var pattern=/^\d{2,5}.?\d{1,2}$/;
        var numA = "123.12";
        var numB = "1.";
        var numC = "123456.123";
        alert(pattern.test(numA));
        alert(pattern.test(numB));
        alert(pattern.test(numC));
      //-->
      </script>
      

  3.   

    Sorry, 弄错了,重发!  <script type="text/javascript">
      <!--
        var pattern=/^\d{2,5}(\.\d{1,2})?$/;
        var numA = "123.12";
        var numB = "123456";
        var numC = "123456.12";
        alert(pattern.test(numA));
        alert(pattern.test(numB));
        alert(pattern.test(numC));
      //-->
      </script>
      

  4.   

    其实不简单呢
    <script type="text/javascript">
      <!--
        var pattern=/^(\d{2,3}(\.\d{2})?|\d{4}(\.\d)?|\d{5})$/;
        var numA = "123.12";
        var numB = "123456";
        var numC = "1236.12";
        alert(pattern.test(numA));
        alert(pattern.test(numB));
        alert(pattern.test(numC));
      //-->
      </script>