Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.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_Regex_String_Max_Maxlength - Fatal编程技术网

正则表达式最大字符数Javascript

正则表达式最大字符数Javascript,javascript,regex,string,max,maxlength,Javascript,Regex,String,Max,Maxlength,我有一个正则表达式: var regex = /^[\S]+(\-[\S]+)$/ 我想再增加一条规则,规则是最大字符数是6个或更多,我该怎么做?我的完整代码如下所示 var regex = /^[\S]+(\-[\S]+)$/ var word = "a-a"; if(word.match(regex)){ console.log("matched"); }else{ console.log("did not match"); } console.log(word.leng

我有一个正则表达式:

var regex = /^[\S]+(\-[\S]+)$/
我想再增加一条规则,规则是最大字符数是6个或更多,我该怎么做?我的完整代码如下所示

var regex = /^[\S]+(\-[\S]+)$/
var word = "a-a";

if(word.match(regex)){
    console.log("matched");
}else{
    console.log("did not match");
}
console.log(word.length);
我尝试了
var regex=/^([\S]+(\-[\S]+){6}$/
,但这意味着他们必须重复a-a 6次,我想要最大字符数,类似这样:

var word = "123-56"
要匹配,我该怎么做?
我不想使用
.length
,因为我想将它实现到正则表达式中

您可以使用前瞻:

var regex = /^(?=.{0,6}$)[\S]+\-[\S]+$/

您甚至可以将其写成
var regex=/^(?=.{3,6}$)\S+-\S+$/
(原始regex需要长度为3或更长的输入字符串)。