function key_press(obj)
     {
        if(event.keyCode <48 || event.keyCode >57)
        {
            alert("只能输入数字");
            obj.focus();
            event.returnValue = false;
        }
        if(obj.value=<0 ||obj.value=>5)
        {
            alert("请输入0-59之间的数");
            obj.focus();
            event.returnValue = false;
               
        }
     }前台是:<asp:TextBox ID="txtMin" runat="server" Width="30px" onkeypress = "key_press(this);"></asp:TextBox>分小弟是这么写的,但是输入123后却是可以  要输入第4个数才会弹出警告,不知道原因  请大虾们帮忙改下~!

解决方案 »

  1.   

    把时间换一下,每输入1个数字时,就判定
    <asp:TextBox ID="txtMin" runat="server" Width="30px" onkeyup = "key_press(this);"> </asp:TextBox>
      

  2.   

    为什么你要用onkeypress?
       onblur事件再加上正则不是更好?
    即使是逐字验证也不应该用keypress,  onchange更合适
      

  3.   

    用正达表达式跟onblur比较好。
      

  4.   

    function key_press(obj)
    {
    if(event.keyCode<48 || event.keyCode>57)
    {
    alert("只能输入数字");
    obj.focus();
    event.returnValue =false;
    return;
    }var value=obj.value*10+event.keyCode-48;
    if(value<0 || value>59)
    {
    alert("请输入0-59之间的数");
    obj.focus();
    event.returnValue =false;
    }
    }
      

  5.   

      var a = obj.value.match( /^(-|\+)?\d+$/); 
    if (a == null) {alert('输入的参数不是整数类型'); return false;} 
            if(obj.value=<0 ||obj.value=>59)
            {
                alert("请输入0-59之间的数");
                obj.focus();
                return false;   
            }
      

  6.   

    txtMin.Attributes.Add(onblur","key_press(this)");
      

  7.   

    首先用onkeyup设置这个框只能输入数字不包含小数点
    然后取这个框的值, 
    var num = document.ge...
    然后判断 num * 1和0于59比较
      

  8.   

    var num=document.getElementById('XXX')-0;//关键这里要-0
    if(num>59)
    {
      alert("大了");
    }
    else if(num<0)
    {
      alert("小了");
    }