如题,
要两个版本,一个版本不验证为空,
一个版本验证是不是为空。

解决方案 »

  1.   

    <input type="text" onblur="t(this.value)">
    <script language="javascript">function t(s){
    alert( /^(1000|[1-9]\d{0,2}|0)$/.test(s));   //不能为空
    //alert( /^(1000|[1-9]\d{0,2}|0|)$/.test(s)); //可以为空
    }
    </script> 
      

  2.   

    <script>
     function NumberCheck() {
      var num;
      var re=/^[1-9]{0,1}\d{0,3}$/;
      if(!re.exec(num)){alert("格式不符合,请填写1到4位数字");}
      else{ 
             if(num!=null||num!=""){
              if(parseInt(num)>=1&&parseInt(num)<=1000){alert("OK");}
              else{alert("请填写大小为1到1000的数字");}
                  }
             else{alert("请填写数值");}
           }
     }
     
    </script>
      

  3.   

    <script language="javascript">function t(s){
        alert( /^(1000|[1-9]\d{0,2}|0)$/.test(s));   //不能为空
        //alert( /^(1000|[1-9]\d{0,2}|0|)$/.test(s)); //可以为空
    }
    </script> \
    <script>
     function NumberCheck() {
      var num;
      var re=/^[1-9]{0,1}\d{0,3}$/;
      if(!re.exec(num)){alert("格式不符合,请填写1到4位数字");}
      else{  
      if(num!=null||num!=""){
      if(parseInt(num)>=1&&parseInt(num)<=1000){alert("OK");}
      else{alert("请填写大小为1到1000的数字");}
      }
      else{alert("请填写数值");}
      }
     }
     
    </script>
      

  4.   

    用正则验证有没有数字以外的字符,然后比较输入值要大于0,小于等于1000
    js部分:
    <script type="text/javascript">
    function aaa() {
    var m=document.getElementById("shuzi").value;
    var u=/\D/;
    if (u.test(m)) {
    alert("只能输入数字!")
    return;
    }
    if (m<0||m>1000) {
    alert("数字值不正确!")
    return;
    }
    /*if (m==""||m==null) {
    alert("输入不能为空!")
    return;
    }*/  //注释部分用于验证输入不能为空
    alert("验证通过!")
    }
    </script>
    HTML部分:
    <form name="form1" method="post" action="">
      <label>
     <p> 数字:<input name="shuzi" id="shuzi" type="text">
        <input type="submit" name="anniu" id="anniu" value="提交" onclick="aaa()">
        </p>
      </label>
    </form>
      

  5.   

    补充:if (m<0||m>1000)这里要改成:
    if (m<1||m>1000)
      

  6.   

    用jquery.validate插件吧,下面是使用插件的代码$(function() {
        $('#frmNumber').validate({
            rules: {
                number: {
                    required: true,
                    range: [1, 1000]
                }
            },
            messages: {
                number: {
                    required: '数字不能为空',
                    range: '数字应大于等于1小于1000'
                }
            }
        });
    });
      

  7.   

    /\D/是一个正则表达式,表示的是所在数字以外的字符,(u.test(m))的意思是用正则表达式u检测m里有没有数字以外的字符,如果有返回true,执行后边的代码,如果没有数字以外的字符(都是数字的话)返回false,if语句隔过去,向下执行