正则表达式检查正确的扩展名

Regular Expression Checking For Proper Extension Names

本文关键字:扩展名 检查 正则表达式      更新时间:2023-09-26

我的 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";
}

首先,^.+是不必要的和浪费时间的。

其次,您的字符串只有四个字符长,您正在寻找什么...长度至少为 5 个字符。因此,它们将永远无法匹配。

第三,正则表达式是矫枉过正的。

最后,您的代码应该是:

if( chld.value.substr(chld.value.length-4).toLowerCase() != ".gdf")
    errors.push("File is NOT a GDF file");