gpt4 book ai didi

Javascript 将文本字段限制为数字和小数?

转载 作者:行者123 更新时间:2023-11-28 17:26:11 30 4
gpt4 key购买 nike

我在这里尝试了一些解决方案,但所有这些解决方案都归结为在输入后删除非数字输入。

这里的解决方案适用于数字: https://jsfiddle.net/HkEuf/17470/

但它不允许小数。

我必须按如下方式编辑它,但它仍然不允许使用小数:

    $(document).ready(function () {
//called when key is pressed in textbox

$("#quantity").keypress(function (e) {
//if the letter is not digit then display error and don't type anything
if (e.which != 110 && e.which != 190 && e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57 )) {
//display error message
$("#errmsg").html("Digits Only").show().fadeOut("slow");
return false;
}
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" name="quantity" id="quantity" />

最佳答案

您可以使用 HTML 完成这一切,您所需要做的就是使用 number type具有像这样的 step 属性。

  • 注释 1:通过添加 required 属性,我们可以在提交时验证字段,否则除非字段内有输入,否则不会验证该字段。
  • 注2:数字类型还支持minmax
  • 注3:支持 IE 10+ 及所有其他主流浏览器

<form>
<input type="number" step="0.001" name="quantity" id="quantity" required>
<p><input type="submit" value="Numbers Only!"></p>
</form>

防止“E”键

我们可以使用 keydown 事件阻止 e 键,如果 e.key == 'e' 我们可以阻止该键:

Array.from(document.querySelectorAll('[type=number]')).forEach(i => {
i.addEventListener('keydown', function(e) {
if(e.key == 'e') e.preventDefault()
})
})
<form>
<input type="number" step="0.001" name="quantity" id="quantity" required>
<p><input type="submit" value="Numbers Only!"></p>
</form>

关于Javascript 将文本字段限制为数字和小数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51561218/

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