验证金额/价格的正则表达式有以下要求:只能够输入整数或小数
能控制长度(长度包含小数点)

解决方案 »

  1.   

    小数点只能输入两位,最多只能输入5位的<script>
    var reg=/^[\d(.\d){0,2}]{0,5}$/;
    alert(reg.test(str));
    </script>
      

  2.   


    <script>
        function test(str){
            var reg=/^[1-9][\d(.\d){0,2}]{0,4}$/;
            alert(reg.test(str));
        }
    </script>
    <input type="text" onchange="test(this.value)">
      

  3.   

     var reg=/^[0-9][\d(.\d){0,2}]{0,5}$/;
      

  4.   

    var reg=/^[1-9][\d(.\d){0,2}]{0,4}$/; 
      

  5.   


    <script>
        function test(str){
            var reg=/^([1-9][\d(.\d){0,2}]{0,4}|[0-9](.\d){0,2})$/;
            alert(reg.test(str));
        }
    </script>
    <input type="text" onchange="test(this.value)">
      

  6.   

    <script>
        function test(str){
            var reg=/(^-?[1-9]*(\.\d*)?$|^-?d^(\.\d*)?$)|(^0\.\d+)/;
            alert(reg.test(str));
        }
    </script>
    <input type="text" onchange="test(this.value)">
    测试过01 001 0.1 0.01 负数的