var r = /^\+?[1-9]*$/; 
改成^\d{1,9}$
这样就可以输入9位以内的整数了

解决方案 »

  1.   

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>无标题文档</title>
    </head>
    <script language="javascript">
    function over(){
    var s = document.getElementById("aa").value ;
    var a = /^[1-9]+\d*$/ ;//由不为0开始的任意数字组成,如果可以让0开头,这样就行了/\d*$/ 
    if(!a.test(s)){
    alert("input error!");
    }else{
    alert("input OK");
    }
    }
    </script>
    <body>
    <FORM METHOD=POST ACTION="myform">
    <INPUT TYPE="text" NAME="aa">
    <INPUT TYPE="button" value=" OK " onclick="over()">
    </FORM>
    </body>
    </html>
      

  2.   

    问题二已解决,问题一:
    我判断一个表单的数据长度,长度明明等于6,我用alert他的长度清楚地写着是6 ,可他还是执行alert, 大家看单码: if(NameUser.value.length!=6){ 
        alert('长度必须为6' + NameUser.value.length); 
      

  3.   

    <input name="" id="NameUser" value="123456" type="text" />
    <script>
    alert(NameUser.value.length)
    if(NameUser.value.length!=6){ 
        alert('长度必须为6' + NameUser.value.length); 
    }  
    </script>不会啊
      

  4.   

    楼主可以在你机器上试试这段代码<input name="NameUser" id="NameUser" value="123456" type="text" />
    <input type="button" value="click" onclick="checknum()" />
    <script>
    function checknum()
    {
        if(NameUser.value.length!=6){ 
            alert("长度必须为6\n"+NameUser.value+"的长度是:"+ NameUser.value.length); 
        }
        else
            alert(NameUser.value.length);
    }  
    </script>