确定是否按下了字母或数字 - Javascript

时间:2016-01-08 23:38:05

标签: javascript jquery html keypress keydown

所以我知道我们可以找到按键是否被按下,我们可以通过javascript知道按下了哪个键。

要确定某个键是否已关闭或按下,我们可以使用jQuery

$( "#some id" ).keydown(function() 

$( "#m" ).keypress(function() 

但这对我来说不太好用。 我想确定是否按下了一个字母或一个数字。

但是,为了提高效率,我不想用一个大的if(或一个for循环,更糟)检查按下的键是字母还是字符(通过比较和检查字符代码)< / p>

是否有内置的javascript函数来确定是否按下了数字或是否按下了一个字母?有没有一种有效的方法呢?或者我只是过于复杂化了?

1 个答案:

答案 0 :(得分:6)

只需检查范围:

if (event.keyCode >= 48 && event.keyCode <= 57) {
    // Number
} else if (event.keyCode >= 65 && event.keyCode <= 90) {
    // Alphabet upper case
} else if (event.keyCode >= 97 && event.keyCode <= 122) {
    // Alphabet lower case
}

以下是类似问题的详细answer。很好的参考。

数字键盘代码与键盘上方相同:来自Keyboard Keys and Key Code Values

的引用