Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/424.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/82.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 我如何允许+&引用;及;()";在我的服饰中,数字只能输入?_Javascript_Jquery - Fatal编程技术网

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();
        }
    }
});