if(num>0 && num<1000) {
  ......
} else {
  ......
}

解决方案 »

  1.   

    if(num>0 && num<1000 && num%1==0) {
      ......
    } else {
      ......
    } 小数的就改为不等于0。
      

  2.   

    其实
    你判断他是不是数字
    用isnan然后在判断这个数与他取整之后的值是否相等
    不等就是小数拉
      

  3.   

      var a1=/[0-9]|[1-9][0-9]|[1-9][0-9][0-9]/;
      var a2=/[0-9]*[.][0-9]*[1-9]/;哈哈,可能还有地方没有考虑到,试试看吧
      

  4.   

    给你一个小程序测试一下:
    <html>
    <body>
    <script language=javascript>
    function a()
    {
      var a1=/[0-9]|[1-9][0-9]|[1-9][0-9][0-9]/;
      var a2=/[0-9]*[.][0-9]*[1-9]/;
      var b1=document.all.text1.value;
      var b2=document.all.text2.value;
      var match1=a1.exec(b1);
      var match2=a2.exec(b2);
     if(match1)
    {
    alert("No.1 success!");
    }
    if(match2)
    {
    alert("No.2 success!");
    }
    }
    </script>
    <input type=text name=text1>
    <input type=text name=text2>
    <input type=button value="click!" onclick=a()>
    </body>
    </html>
      

  5.   

    整数:
    /([1-9][0-9]{0,2})|1000/
    实数:
    /([1-9][0-9]{0,2})\.\d*/(我觉得小数部分应该允许0的)
    不过纯数字的话不如用isNaN()判断更方便一点
      

  6.   

    哦,错了:(
    /^([0-9]&brvbar;\.){1,4}$/少写了一个\好象
      

  7.   

    <script>
    function ex()
    {
    var p = /^[0-9]{1,4}\.[0-9]{1,8}$/;
    alert(p.test(v.value));
    }
    </script>
    <input type=text name=v onchange=ex()>不好意思,想了半天
      

  8.   

    很奇怪,对于整数的限制似乎要这么写  
    /(^[1-9][0-9]{0,2}$)|(^1000$)/
    如果写成
    /^[1-9][0-9]{0,2}|1000$/
    则没有什么效果,尤其输入大于1000的数值时依然是true
      

  9.   

    var p = /^([0-9]+)\.([0-9]{1,8})$/;
    alert(p.test(什么东西));
    {1,8}小数点后面的位数不过这样作这个数必须是小数
    如果写成var p = /^([0-9]+)$/可以判断他是不是整数
      

  10.   

    不过回过头一想
    发现个问题
    就是如果要判断的数字是099就还是会返回true啊
      

  11.   

    silentlamb(silent) (2002-1-10 11:45:04)  得0分 
    整数:
    /([1-9][0-9]{0,2})&brvbar;1000 不要吵了silentlamb(silent)的是对的,
    不要吵了silentlamb(silent)的是对的,
    不要吵了silentlamb(silent)的是对的,
      

  12.   

    to vxhelp(我是第一万个BUG)  & silentlamb(silent),
    你们试过用/([1-9][0-9]{0,2})|(1000)/或者是/([1-9][0-9]{0,2})|1000/吗?
    这两种写法如果我输入的数字为大于1000的其他值也是true啊
      

  13.   

    to runmin(稻草人),
    我一直觉得很奇怪,写成
    /^([0-9]{1,3}\.[0-9]{1,8})|([0-9]{1,3})$/
    我测试的时候一直无法检查出大于1000的情况,不知你试过没有?
      

  14.   

    to bsd(小红帽菜鸟):
    我一直觉得很奇怪,写成
    /^([0-9]{1,3}\.[0-9]{1,8})&brvbar;([0-9]{1,3})$/
    我测试的时候一直无法检查出大于1000的情况
    这样写就行了:
    /^(([0-9]{1,3}\.[0-9]{1,8})&brvbar;([0-9]{1,3}))$/
    简单的说就是|的优先级比^$要低