检测是否键入了字符或数字

ssc*_*rus 5 javascript

我想设置一个主页,按下任何字符(小写或大写)或任何数字将用户重定向到login page,因为主页本身没有任何要做的事情,需要输入.

我的第一次尝试是这样的:

document.onkeyup = function() {
  document.location.href = "/login"
}
Run Code Online (Sandbox Code Playgroud)

这可以工作,但它适用于每个键,包括游标,选项卡,甚至大写锁定.如何限制此功能,以便它只响应字符和数字?

Kar*_*oll 5

事件发生时,密钥代码将作为事件参数发送.我们可以使用它来确定是否按下了字符或数字键.像这样:

document.onkeyup = function(e) {

  if ((e.keyCode >= 65 && e.keyCode <= 90) ||
      (e.keyCode >= 97 && e.keyCode <= 122) ||
      (e.keyCode >= 48 && e.keyCode <= 57)){
      document.location.href = "/login";
  }
};
Run Code Online (Sandbox Code Playgroud)

作为参考,上面使用的数字是ASCII码,你可以在这里找到完整的列表:http://asciitable.com/.48-57是数字0-9,65-90是大写字符,97-122是小写字符.

你可以在这里找到一个非常简单的JS Fiddle例子:http://jsfiddle.net/jpYyg/.在按任何按钮之前,请记住在"结果"面板(右下角)中单击,否则它将无效!

HTH