Javascript 正则表达式在Firefox中工作,但在Chrome中不工作
我使用的正则表达式应该只允许数字、字母、逗号、下划线和连字符:Javascript 正则表达式在Firefox中工作,但在Chrome中不工作,javascript,regex,Javascript,Regex,我使用的正则表达式应该只允许数字、字母、逗号、下划线和连字符: var test = "ABCD_3_8.csv"; var checkFileNameValidity = false; try { var re = /^[a-zA-Z0-9._-]+$/g; var match; while (match = re.exec(test)) { var resultText = match[1] || match[2]; checkFil
var test = "ABCD_3_8.csv";
var checkFileNameValidity = false;
try {
var re = /^[a-zA-Z0-9._-]+$/g;
var match;
while (match = re.exec(test)) {
var resultText = match[1] || match[2];
checkFileNameValidity = true;
}
} catch (e) {
alert(e);
}
if (checkFileNameValidity == false) {
alert("Invalid File Name");
return;
}
这段代码在Firefox中运行良好,但在Chrome中不起作用。这是为什么?我如何修复它?它不应该在任何地方工作,因为您有这个正则表达式:
var re = /^[a-zA-Z0-9._-]+$/g; // same as /^[\w.-]+$/g
然后在var resultText=match[1]| | match[2]中使用2个捕获的组
即使您的正则表达式中没有任何正则表达式。只需解释一下您正在使用resultText=match[1]| match[2]尝试什么