gpt4 book ai didi

javascript - 只允许数字和减号

转载 作者:行者123 更新时间:2023-11-29 16:52:22 25 4
gpt4 key购买 nike

我试图在 input type="text" 中只允许使用数字和减号。我只能允许数字,但不能允许减号。我尝试了以下正则表达式以仅允许数字:

/\D/

当我添加减号时,它似乎不起作用:

/-?\D/

(我有问号 (?) 的原因是因为不会总是有减号。)当我尝试向文本字段添加减号时,它不起作用。这是代码:

(我尝试添加一个代码片段,但无法正确编译。)

CodePen

<input id="num" type="text" />

var input = document.getElementById('num');
input.addEventListener("keypress", function(e) {
var keycode = (e.keyCode ? e.keyCode : e.which);
if (/-?\D/.test(String.fromCharCode(keycode))) { // a non–digit was entered
e.preventDefault();
}
});

最佳答案

我建议使用这个正则表达式来匹配有效数字:

/^[+-]?\d+$/

并让你在 test 方法中反转逻辑,如下所示:

var input = document.getElementById('num');
input.addEventListener("change", function(e) {
if (!/^[+-]?\d+$/.test(this.value)) { // a non–digit was entered
console.log("non-digit was entered");
$('#num').val('');
}
});

CodePen

关于javascript - 只允许数字和减号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35022048/

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