Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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 正则表达式将超过10个数字_Javascript_Jquery_Regex - Fatal编程技术网

Javascript 正则表达式将超过10个数字

Javascript 正则表达式将超过10个数字,javascript,jquery,regex,Javascript,Jquery,Regex,要与正则表达式匹配,它必须是一个数字,并且不能超过10个数字。别的什么都不要显示 match(/[^0-9]|[0-9]{10,80}/) 第一部分有效,这意味着它不是一个数字,但第二部分不起作用,如果它大于10 我可以用另一种方法,但我想用正则表达式。。谢谢大家! (function($){ $('input').on( 'keypress', function(e){ var char = String.fromCharCode(e.keyCode); i

要与正则表达式匹配,它必须是一个数字,并且不能超过10个数字。别的什么都不要显示

match(/[^0-9]|[0-9]{10,80}/)
第一部分有效,这意味着它不是一个数字,但第二部分不起作用,如果它大于10

我可以用另一种方法,但我想用正则表达式。。谢谢大家!

(function($){
    $('input').on( 'keypress', function(e){
    var char = String.fromCharCode(e.keyCode);
        if ( char.match(/[^0-9]|[0-9]{10,80}/) ) {
            e.preventDefault();
        }
    });
})(jQuery)
HTML:

<input type="text">

您正在检查
char
是否与正则表达式匹配,但您的意思是检查
输入的全部内容是否与正则表达式匹配。如果将
id=“myinput”
添加到
中,并在javascript中添加

var inputdata = document.getElementById("myinput").value;
然后,您可以检查
inputdata
是否与您的正则表达式匹配,它是否起作用


另外,您正在检查
{10,80}
,这意味着介于
10
80
之间,但您也可以将其更改为
{10,}
,这意味着
10
更多

嗯<代码>
?您的意思是,如果值仅为数字且长度为0到10,则应继续,否则将阻止默认值?您每次检查一个字符,因此
{10,80}
设置是多余的。您需要整体检查该值。@NiettheDarkAbsol
maxlength
不适用于数字input@RoryMcCrossan谢谢,这就是问题所在。我现在通过在值中添加另一个if检查来解决这个问题。