我的问题是我的javascript调用有效的扩展名无效时应该通过。我已经在服务器端代码中使用了这个正则表达式,它对我来说很好。 我验证了reg表达式检查的值也是有效的。
我是否可以在javascript中声明reg表达错误?
var ck_name = /^.+\.((gdf)|(GDF))$/;
var chldValue = chld.value.substring(chld.value.length - 4, chld.value.length);
alert(chldValue);
if (!ck_name.test(chldValue)) {
errors[errors.length] = "File is NOT a GDF file";
}
答案 0 :(得分:3)
首先,^.+
是不必要的并且是浪费时间。
其次,你的字符串只有四个字符长,你要找的是......至少五个字符长。因此,他们永远不会匹配。
第三,正则表达式过度。
最后,您的代码应为:
if( chld.value.substr(chld.value.length-4).toLowerCase() != ".gdf")
errors.push("File is NOT a GDF file");