如何在javascript中区分+和4虚拟代码



我从键盘上输入。

我是这样拍的:

if (48 <= key && key <= 57) {
var number = String.fromCharCode(key);
takeNumber(number);
}

4号的虚拟代码是52。但是+符号的虚拟数字也是52。如何区分+和4?

4的Unicode键代码为52,+的Unicode键码为187。要区分它们,请使用onkeypressonkeydown事件。

注意:按下键盘键时会发生keydown事件,随后会立即执行按键事件

javascript中,您可以通过以下方式区分这两者:

function uniCharCode(event) {
var char = event.which || event.keyCode;
document.getElementById("demo").innerHTML = "Unicode CHARACTER code: " + char;
}
function uniKeyCode(event) {
var key = event.keyCode;
document.getElementById("demo2").innerHTML = "Unicode KEY code: " + key;
}
<input type="text" onkeypress="uniCharCode(event)" onkeydown="uniKeyCode(event)">
<div id="demo"></div>
<div id="demo2"></div>

您可以使用"charCodeAt"或"String.fromCharCode"进行比较

'+'.charCodeAt() // 43
'4'.charCodeAt() // 52
String.fromCharCode(43) // '+'
String.fromCharCode(52) // 4

最新更新