我使用此功能仅在文本框中输入数字,并且可以正常工作。
function isNumberKey(evt) {
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57))
return false;
return true;
}
但是客户要求我限制
-
符号,因此用户不应输入-符号。所以我修改了代码function isNumberKey(evt) {
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57) && charCode == 45)
return false;
return true;
}
现在它不起作用,它也允许字母,为什么?
最佳答案
您需要在组中使用||
:
function isNumberKey(evt) {
var charCode = (evt.which) ? evt.which : event.keyCode;
var bool = (charCode > 31) && (charCode < 48 || charCode > 57 || String.fromCharCode(charCode) == "-");
return !bool;
}
<input type="text" onkeypress='return isNumberKey(event)'>
关于javascript - 为什么javascript函数不起作用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/36054532/