我使用 JS 构建了一个只接受数字的机制:
但是我想允许 : Delete, Backspace, left arrow, right arrow:
我想出的解决方案是:
假设我用 html 编写(我知道发送事件不好,但请关注 Js 代码):
<input onKeyPress='return CheckDigit(event)'/>
function CheckDigit(evt)
{
var charCode = (evt.which) ? evt.which : evt.keyCode;
if (((charCode >= 48) && (charCode <= 57)) || checkIfDelOrNavigate(charCode)))
return true;
return false;
}
function checkIfDelOrNavigate(c)
{
if (((c == 46) || (c == 39) || (c == 37) || (c == 8))) return true;return false;
/*46=delete , 39,37 = arrows , 8=backspace*/
}
问题 :
这是正确的解决方案吗?(如果不是,请您提供答案)
我认为它可以更改为正则表达式检查:
代码:
var regEx =/^[0-9]+$/;
isValid = regEx.test(keyChar);
return isValid;
但是完整的regEx
表达方式是什么?
ps:奇怪,但我看到的所有解决方案都不想允许Delete, Backspace, left arrow, right arrow chars ,只是类别本身。