在键盘的数字键中获取符号的javascript键码

时间:2013-05-31 02:39:54

标签: javascript culture keycode

无论键盘和操作系统的语言和文化如何,/(正斜杠)符号的javascript键代码是什么?在英文键盘中,正斜杠位于与数字键分开的键中,其键码为191.但是在西班牙语键盘中,该字符与同一键中的数字7一起并在其中键入,我必须执行SHIFT + 7,但该组合不会导致键码191!

我已经尝试了if (event.shiftKey && event.keyCode == 55) {},其中55是字符7的键码,它可以正常工作,但是使用英文键盘,if (event.shiftKey && event.keyCode == 55) {}条件允许我键入& (&符号)符号。

我的网页上有一个文本框,我只想让用户输入数字并转发斜杠,无论他们使用的键盘或操作系统的语言是什么,而且只需要按一个键即可输入转发斜线或他们必须组合SHIFT +数字键或其他类型的组合。我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

作为防止按键的替代方法:

<textarea oninput="validate(this,/([^\/\d])/g)" ></textarea>
<script>
function validate(inp,reg)
{
    //([^\/\d]) translates to:
    //"remove everything that is not a / or a number"
    var s = inp.selectionStart;
    inp.value = inp.value.replace(reg,"");
    inp.selectionStart = s;inp.selectionEnd = s;//reset caret position
}
</script>

答案 1 :(得分:0)

你可以通过听按键而不是keydown来实现这个目的,这会给你一个事件对象,其中包含按下的实际键和相应的ASCII码。

// Vanilla JavaScript
document.body.addEventListener('keypress', function(event) { 
  console.log(event);     
});

// jQuery
$('body').on('keypress', function (event) {
  console.log(event);
};

enter image description here