各位大侠,时钟问题,用onkeydown屏蔽掉了数字外的其他按键,可是要求只能输入0-12数字,怎么实现阿。

解决方案 »

  1.   

    你屏蔽了其他的按键 那你在输入完之后判断下keyCode+input里面现有的内容 是否在 0-12内啊
      

  2.   

    感谢楼上!
    function onlyNum()
     {
      var keys=event.keyCode;
     if (!((keys>=49&&keys<=57)||(keys>=96&&keys<=105)||(keys==8)||(keys==46)||(keys==37)||(keys==39)||(keys==13)||(keys==229)))
     event.returnValue=false;
     

      我想在这个函数里实现限制0-12的功能,该怎么办呢?
      

  3.   

    <input type="text" onblur="test(this)">
    <script>
    function test(o){
    var v = parseInt(o.value);
    if(v<0 || v>12){
    alert("wrong number");
    o.focus();
    }
    }
    </script>
      

  4.   

    先提示下48表示0,不能不要吧!
    接着那个if
    else {
        var num;
        if((keys>=48&&keys<=57)) {
           num = keys-48;
        } else if(keys >= 96 && keys <= 105) {
           num = keys-96;
        }
        if(!(/^(1[012]|[0-9]$/.test(event.srcElement.value + num.toString())) {
           event.returnValue=false;
        }
    }在这里我提示下。你这样做 ff下不认识
    你复制粘贴的值不能判断 
      

  5.   

    function onlyNum()
    { var keys=event.keyCode;
     if (!((keys>=48&&keys<=57)||(keys>=96&&keys<=105)||(keys==8)||(keys==46)||(keys==37)||(keys==39)||(keys==13)||(keys==229)))
     {event.returnValue=false;}
     else {
      var num;
     if((keys>=48&&keys<=57)){ 
     num = keys-48; 
      }else if(keys>=96&&keys<=105){
      num = keys-96;
      }
      if (!(/^(1[012]|[0-9]$/.test(event.srcElement.value + num.toString())){         
      event.returnValue=false;     
      }
         }
    }大侠,不行阿怎么 !
      

  6.   

    if (!(/^(1[012]|[0-9]$/.test(event.srcElement.value + num.toString())){   
    这一行貌似少了一个")",加上还是没反应,没有什么效果。。
      

  7.   

    if (!(/^(1[012]|[0-9]$/).test(event.srcElement.value + num.toString())){   这样不行?
      

  8.   


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
     <head>
      <title> New Document </title>
      <meta name="Generator" content="EditPlus">
      <meta name="Author" content="">
      <meta name="Keywords" content="">
      <meta name="Description" content="">
     </head> <body>
      <input type="text" onpropertychange="testNum(this);">
      <div id="msg"></div>
     </body>
     <script language="JavaScript">
    <!--
    function testNum(obj){
    var reg = /^(1[012]|[0-9])$/;
    var val = obj.value;
    var msg = document.getElementById("msg");
    if(val && val.length>0){
    if(reg.test(val)){
    msg.innerHTML = "<span style='color:green;'>合法</span>"
    }else{
    msg.innerHTML = "<span style='color:red;'>非法</span>"
    }
    }
    }
    //-->
     </script>
    </html>
      

  9.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>test</title>
    <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
    <script language="javascript">
    function onlyNum()
    {
    var keys=event.keyCode;
    if (!((keys>=48&&keys<=57)||(keys>=96&&keys<=105)||(keys==8)||(keys==46)||(keys==37)||(keys==39)||(keys==13)||(keys==229))){
    event.returnValue=false;
    }
    else {
    var num;
    if((keys>=48&&keys<=57)){ 
    num = keys-48; 
    }else if(keys>=96&&keys<=105){
    num = keys-96;
    }
    var reg = /^(1[012]|[0-9])$/
    if (!reg.test(event.srcElement.value + num.toString())) {  
    event.returnValue=false;  
    }
    }
    }</script>   
    </head><body>
    <input type="text" id="test" onkeydown="onlyNum()" />
    </body>
    </html>
      

  10.   


    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
     <head>
      <title> New Document </title>
      <meta name="Generator" content="EditPlus">
      <meta name="Author" content="">
      <meta name="Keywords" content="">
      <meta name="Description" content="">
     </head> <body>
      <input type="text" onkeydown="return testNum(this);" value="">
      <div id="msg"></div>
     </body>
     <script language="JavaScript">
    <!--
    function testNum(obj){
    var flag = false; 
    var key = event.keyCode;
    var reg = /^(1[012]|[0-9])$/;
    var val = event.srcElement.value + (key-48);
    var msg = document.getElementById("msg");
    if(reg.test(val) || key==8){
    flag = true;
    }
    return flag;
    }
    //-->
     </script>
    </html>
      

  11.   

    都是好人阿 ,在我菜鸟的生涯中有好人帮忙,幸福阿,膜拜,已经ok了,cj大哥,那么改一下就ok了,可以跟我说下问题处在哪里么???