为什么javascript函数不工作?
我用这个函数只在文本框中输入数字,它工作了为什么javascript函数不工作?,javascript,jquery,asp.net,javascript-events,Javascript,Jquery,Asp.net,Javascript Events,我用这个函数只在文本框中输入数字,它工作了 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))
return false;
return true;
}
现在它不工作了,它也允许字母,为什么 您应该在测试中使用
|
而不是&
。在我的
azerty
键盘上,-
符号charcode是54
,而不是45
function isNumberKey(evt) {
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57 || charCode == 45) )
return false;
return true;
}
函数isNumberKey(evt){
var charCode=(evt.which)?evt.which:event.keyCode
如果(charCode>31&(charCode<48 | | charCode>57 | | charCode==45))
返回false;
返回true;
}
看
编辑
看起来像你的密码。54
值来自我的azerty
键盘。不过,您应该在支票中使用
|
而不是&
。您需要在组中使用|
:
函数isNumberKey(evt){
var charCode=(evt.which)?evt.which:event.keyCode;
var bool=(charCode>31)&(charCode<48 | | charCode>57 | | String.fromCharCode(charCode)==“-”;
返回!布尔;
}
在我的win机器上45
是-
吗?我使用的是azerty
键盘,可能这是链接的,我的小提琴可以使用它。要点是:使用|
而不是&&
@cl3m是的,你对条件是正确的,如果情况是交叉的,那么我猜字符串。fromCharCode(event.keyCode)==“-”
匹配将是更好的选择。
function isNumberKey(evt) {
var charCode = (evt.which) ? evt.which : event.keyCode
if (charCode > 31 && (charCode < 48 || charCode > 57 || charCode == 45) )
return false;
return true;
}