/^[1-9]+[0-9]*]*$/
可以验证正整数,但我希望形如02这样的也算正整数,当然,00就不是正整数了,怎么改这个正则啊

解决方案 »

  1.   


    <script type="text/javascript">
    var reg = /^(?!0{2,})\d+$/;
    alert(reg.test('00'));
    alert(reg.test('0'));
    alert(reg.test('02'));
    alert(reg.test('23'));
    </script>
      

  2.   

     ^0[1-9]\d*|[1-9]\d*$
    ^0+[1-9]\d*|[1-9]\d*$
    这下终于是可以的了
      

  3.   

    <script type="text/javascript">
    var reg = /((?=\d*[1-9]\d*)^\d+$)|^0$/;
    alert(reg.test('00'));
    alert(reg.test('001'));
    alert(reg.test('02'));
    alert(reg.test('0'));
    alert(reg.test('23'));
    </script>
      

  4.   


    <script type="text/javascript" >
    var re = /^0*[1-9]\d*$/;
    alert(re.exec( "000" ));
    alert(re.exec( "001" ));
    alert(re.exec( "12" ));
    alert(re.exec( "-1" ));
    </script>
      

  5.   

    建议分两步
    /^[0-9]+$/
    然后parseInt