Javascript 我如何允许+&引用;及;()";在我的服饰中,数字只能输入?
在我当前的代码中,我只能输入整数。我要做的是添加“+”和括号“()”。如何调整代码Javascript 我如何允许+&引用;及;()";在我的服饰中,数字只能输入?,javascript,jquery,Javascript,Jquery,在我当前的代码中,我只能输入整数。我要做的是添加“+”和括号“()”。如何调整代码 <script type="text/javascript"> $(".numeric").keydown(function (event) { var num = event.keyCode; if ((num> 95 && num < 106) || (num > 36 && num < 41) ||
<script type="text/javascript">
$(".numeric").keydown(function (event) {
var num = event.keyCode;
if ((num> 95 && num < 106) || (num > 36 && num < 41) || num == 9) {
return;
}
if (event.shiftKey || event.ctrlKey || event.altKey) {
event.preventDefault();
} else if (num != 46 && num != 8) {
if (isNaN(parseInt(String.fromCharCode(event.which)))) {
event.preventDefault();
}
}
});
</script>
$(“.numeric”).keydown(函数(事件){
var num=event.keyCode;
if((num>95&&num<106)| |(num>36&&num<41)| | num==9){
返回;
}
if(event.shiftKey | | event.ctrlKey | | event.altKey){
event.preventDefault();
}否则如果(num!=46&&num!=8){
if(isNaN(parseInt(String.fromCharCode(event.which))){
event.preventDefault();
}
}
});
来自表参考-:
因此,您的支票将是:
if ((num> 95 && num < 106) || (num > 36 && num < 41) || num == 9 || (num >= 168 && num <= 169) || num == 171)
你是怎么算出数字的密码的?为什么不能执行相同的过程?请检查此参考-仅供参考当不处理范围时,您可以使用正则表达式缩短代码,例如,上面代码示例的结尾可以是:
/(9 | 168 | 169 | 171)$/。test(num)
@smokeypp yes非常好,但不幸的是,我不太擅长正则表达式=)我能想到的最好的方法是在按下Shift键时,覆盖所有上述检查的/(9 | 168 | 169 | 171 |[0-9\(\)\+])+$/
,但这对(
,)
不起作用。如果你能改进它,我将添加到我的答案中。括号已经被168 | 169
-如果((num>95&&num<106)| |(num>36&&num<41)| |/^(9 | 168 | 169 | 171)$/。test(num))@SmokeyPHP不,这不允许+
我有点希望将它完全改进为正则表达式…@smokeyppp仍然+
在这两个方面都不起作用…=)使用pattern2.test(num)
-右侧的num pad没有输入。看起来我提供的简单的第一个解决方案是最好的。。。
if ((num> 95 && num < 106) || (num > 36 && num < 41) || num == 9 || (num >= 168 && num <= 169) || num == 171)
$(".numeric").keydown(function (event) {
var num = event.keyCode;
if(event.shiftKey) num = 's_'+num;
var pattern2 = new RegExp(/^(9[6-9]|10[0-5]|3[7-9]|40|9|s_57|s_48|171|107|s_187|)$/);
if ( pattern2.test(num) ){
return;
}
if (event.shiftKey || event.ctrlKey || event.altKey) {
event.preventDefault();
} else if (num != 46 && num != 8) {
if (isNaN(parseInt(String.fromCharCode(event.which)))) {
event.preventDefault();
}
}
});