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
Javascript RegExp string.match不';行不通_Javascript_Regex - Fatal编程技术网

Javascript RegExp string.match不';行不通

Javascript RegExp string.match不';行不通,javascript,regex,Javascript,Regex,这是我的代码,但由于某种原因它不起作用。有人有线索吗 var val="My1name" var exp = new RegExp("((?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,20})"); if(!val.match(exp)){ alert("No match") } else { alert("Match") } 从字符串生成时需要转义转义字符 var exp = new RegExp("((?=.*\\d)(?=.*[a-z])(?

这是我的代码,但由于某种原因它不起作用。有人有线索吗

var val="My1name"
var exp = new RegExp("((?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,20})"); 
if(!val.match(exp)){      
   alert("No match")
} else {
   alert("Match")
}

从字符串生成时需要转义转义字符

var exp = new RegExp("((?=.*\\d)(?=.*[a-z])(?=.*[A-Z]).{6,20})"); 
 //-------------------------^

你想这么做吗

var val = "My1name";
var exp = /((?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{6,20})/; 
if(!val.match(exp)){      
   alert("No match");
} else {
   alert("Match");
}

如果正则表达式是常量,请使用文字语法创建正则表达式
var exp=/((?=.*\d)(?=.[a-z])(?=.[a-z])。{6,20})/
am not i am是对的,您必须转义一些字符。但是如果您真的不需要新的RegExp(…)方式,为什么不使用/../?什么是“不工作”呢?“不起作用”对于我们理解这个问题来说是不够的。你试的时候发生了什么?你得到了不正确的结果吗?你没有得到结果吗?如果结果不正确,是什么导致结果不正确?你在期待什么?你得到正确的结果了吗?如果是,它们是什么?别让我们猜。