gpt4 book ai didi

javascript - 仅允许输入类型 ="number"中的 0-9 数字(不包括 eE.+- 等..)

转载 作者:太空宇宙 更新时间:2023-11-04 16:08:09 26 4
gpt4 key购买 nike

我很难弄清楚如何只允许用户在 <input type="number" /> 中输入数字 0-9因为它还有其他类似 eE.+ - 的东西等等..

查看了堆栈溢出上的正则表达式解决方案,每个解决方案似乎都有一个问题,即如果输入中没有数字,您可以输入任何不需要的字符,如果您输入数字,则无法完全删除它因为至少需要 1 位数字。

使用键码会带来 event.target.value 的问题在关键事件上不可用,似乎仅在 onchange 中可用,但是在这种情况下 e.which无法检查按下的键。

最佳答案

您的意思是您只希望用户能够输入数字 0-9 吗?

var input = document.getElementById("only-digits");
input.onkeydown = function(e) {
if (48 > e.which || e.which > 57)
if (e.key.length === 1)
e.preventDefault();
};
<input type="number" id="only-digits">

我确保 the key the user presses仅是 0, 1, 2, ... 9 字符,使用其 ASCII 的范围值。

如果他们按下的键超出了该范围,那么我会确保它是一个单词字符,然后阻止它被输入到文本字段中。

关于javascript - 仅允许输入类型 ="number"中的 0-9 数字(不包括 eE.+- 等..),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41715658/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com