Javascript:如何检查表单字段上按下的键是否为数字(0 - 9)?

wow*_*ows 8 javascript javascript-events

我在JavaScript中的表单字段上使用onkeyup事件,我想检查按下的键是否是数字 - 即.0 - 9,所以我可以用输入做一些事情.

<input type="text" onkeyup="" />
Run Code Online (Sandbox Code Playgroud)

我需要使用正则表达式吗?

谢谢

Gib*_*olt 13

使用event.key以获得实际价值。要检查整数,只需使用isFinite

input.addEventListener("keydown", function(event) {
    const isNumber = isFinite(event.key);
});
Run Code Online (Sandbox Code Playgroud)

其他选择:

const isNumber = /^[0-9]$/i.test(event.key)
Run Code Online (Sandbox Code Playgroud)

更简单的 HTML 解决方案是使用number类型输入。它仅限于数字(种类)。

<input type="number">
Run Code Online (Sandbox Code Playgroud)

无论哪种方式,您都应该使用以下命令清理所有用户输入:

string.replace(/[^0-9]/g,'');
Run Code Online (Sandbox Code Playgroud)


kar*_*m79 11

看到这些:

  • +1 用于将用户重定向到较早的 stackoverflow 条目。 (2认同)
  • 那些依赖于jQuery.可能应该是评论,而不是答案. (2认同)