javascript:密钥验证

时间:2009-09-24 10:24:54

标签: javascript validation keyboard

我使用javascript来验证文本框中的键。它不起作用:(

  function numeric(e) {
        return ((e.keyCode == 8) ||
                (e.keyCode == 9) ||
                (e.keyCode > 47 && e.keyCode < 58) ||
                (e.keyCode > 36 && e.keyCode < 41) ||
                (e.keyCode == 46) ||
                (e.keyCode > 95 && e.keyCode < 106) ||
                e.keyCode == 190 ||
                e.keyCode == 110);
    }

帮帮我......

4 个答案:

答案 0 :(得分:1)

function numeric(e) {
   e = e || window.event;
   keycode = e.keyCode || e.which;
   if(keycode === 13){
      alert("cheese");
   }
}

答案 1 :(得分:0)

如果您想要一个仅限数字的文本框,请尝试此操作:

function numbercheck(event) {
    var unicode = event.charCode; var unicode1 = event.keyCode; if (navigator.userAgent.indexOf("Firefox") != -1 || navigator.userAgent.indexOf("Safari") != -1) {
        if (unicode1 != 8) {
            if ((unicode >= 48 && unicode <= 57) || unicode1 == 37 || unicode1 == 39 || unicode1 == 35 || unicode1 == 36 || unicode1 == 9 || unicode1 == 46)
            { return true; }
            else
            { return false; }
        }
    }
    if (navigator.userAgent.indexOf("MSIE") != -1 || navigator.userAgent.indexOf("Opera") == -1) {
        if (unicode1 != 8) {
            if (unicode1 >= 48 && unicode1 <= 57)
            { return true; }
            else
            { return false; }
        }
    }
}

在您的文本框中,在onkeypress事件中调用它:

onkeypress="return numbercheck(event)" 

答案 2 :(得分:0)

我知道在I.E.您可以设置event.keyCode=0以禁止显示在控件中的键。但我认为你需要陷入onkeydown。 Firefox可能有一个等价物。这很好,因为它可以防止密钥实际“到达”控件。

另请注意,您可能需要处理Shift +键和alt +键的组合。

对于这种事情,一个很好的调试技术就是说windows.status = event.keyCode, 你可以在键入时看到键码是什么......

答案 3 :(得分:0)

试试以下代码。我已经检查了F5键码,你可以根据需要进行检查

function disableKey(event) 
{         
  if (!event) event = window.event;
  if (!event) return;
  var keyCode = event.keyCode ? event.keyCode : event.charCode;
  if (keyCode == 116) {
   showMsg("This functionality is disabled.");
   window.status = "F5 key detected! Attempting to disabling default response.";
   window.setTimeout("window.status='';", 2000);
   // Standard DOM (Mozilla):
   if (event.preventDefault) event.preventDefault();
   //IE (exclude Opera with !event.preventDefault):
   if (document.all && event && !event.preventDefault) {
     event.cancelBubble = true;
     event.returnValue = false;
     event.keyCode = 0;
   }
   return false;
  }
}

function setEventListenerForFrame(eventListener) 
{
  document.getElementById('your_textbox').onkeydown = eventListener;
  //frames['frame'].document.onkeypress = eventListener;   
}


<body onload="setEventListener(disableKey);">