在<input type = text>中输入的数字限制在一个范围,比如说50-100,如果超出100或者小于50,就报错。
用js最好的办法应该怎么写?

解决方案 »

  1.   

    看看这个能不能帮到你
    http://www.sharejs.com/showdetails-648.aspx
      

  2.   


    <input id="txt" type = "text" onchange="test1();" >
    function test1()
    {
        var v=document.getElementById("txt").value;
        if (isNaN(v))
        {
            alert('not a number');
            return;
        }
        var i=parseInt(v);
        if(v<50 || v>100)
        {
            alert(' not between 50-100');
            return;
        }
    }
      

  3.   

    <input type = "text" onblur="inspect(this);">
    function inspect(obj){
       if(obj){
          var value = parseInt(obj.value);
          if(value>100||value<50){
             alert("值必需在500-100之间");
             if(obj.setSelectionRange){
          obj.setSelectionRange(0,obj.value.length);
          obj.focus();
      }else if(obj.createTextRange){
          var rng = obj.createTextRange();
          rng.select();
          obj.focus();
     }
          }
       }
    }
      

  4.   

    if(v<50|| v>100)
    改为
    if(i<50|| i>100)
      

  5.   


    <input type ="text" value="" onblur="num=this.value;if(num>100 || num<50){alert('超出范围!');this.value='';}">
      

  6.   


    <input id="txt" type = "text" onchange="test1();" >
    function test1()
    {
        var v=document.getElementById("txt").value;
        if (isNaN(v))
        {
            alert('not a number');
            return;
        }
        var i=parseInt(v);
        if(v<50 || v>100)
        {
            alert(' not between 50-100');
            return;
        }
    }
      

  7.   

    <input type ="text" onblur="!((this.value-0)>100||(this.value-0)<50) || this.value='', alert('超出范围');">
      

  8.   

    改进下function inspect(obj){
       if(obj){
          var regx = /^\d+$/g;
          var g = obj.value.match(regx);
          var value = parseInt(g);
          if(value&&(value>100||value<50)){
             alert("值必需在50-100之间");
             if(obj.setSelectionRange){
                 obj.setSelectionRange(0,obj.value.length);
                 obj.focus();
             }else if(obj.createTextRange){
                  var rng = obj.createTextRange();
                  rng.select();
                  obj.focus();
              }
          }else{
              alert("非数字");
      }
       }
    }