我正在使用一个只允许数字,字母,逗号,下划线和连字符的正则表达式:
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中运行不正常。为什么,我该如何解决?
答案 0 :(得分:0)
它不应该在你有这个正则表达式的任何地方工作:
var re = /^[a-zA-Z0-9._-]+$/g; // same as /^[\w.-]+$/g
然后您在var resultText = match[1] || match[2];
即使你的正则表达式中没有。