我要求必须是0-60000之间的数字,写了一个有个问题:
[1-6]\d{4}||[1-9]\d{3}||[1-9]\d{2}||[1-9]\d||\d这个正则式只要输入的是一位数字,本来应该能通过的,但能不过,哪个朋友帮忙改改,或者写一个,谢谢

解决方案 »

  1.   

    大概思路,没验证
    ([1-5]\d{4})|([1-9]\d{0,3})|(0)JavaScript的话还可以用parseInt()这个函数转数字,然后直接比较大小就是了。
      

  2.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    <script type="text/javascript">
    function text() {
    var val = document.getElementById("txt").value;
    var reg = /^([1-5]{1})([0-9]{4})$/;//[\d]{4}$)||(^[\d]{1,4}$)/;
    var reg2 = /^[1-9]{1,4}$||[0]/
    var reg3 = val.length >= 5 ? reg:reg2;
    if (reg3.test(val)) {
    alert("通过验证");

    }
    </script>
    </head><body>
    <input type="text" name="textfield" id="txt" /><input type="button" value="测试" onclick="text()"/>
    </body>
    </html>
    我已验证过,你可以稍微修改
      

  3.   

    这个比我的简单多了,但还有个小bug,当是4个0的时候也可以通过,