具有文件上载控件(asp.net)的Regular Expression验证器在FireFox中不起作用

时间:2010-09-15 05:09:25

标签: asp.net regex file-upload validation firefox3.6

我正在使用带有文件上传(Asp.Net)控件的正则表达式验证器来限制上传的文件。我的正则表达式如下:

^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))+(.wmv|.avi|.mpeg|.MPEG|.mp4|.MP4|.flv|.f4v)$

即使在Firefox中上传正确的文件后,它也会显示验证程序的错误消息。但它在IE中运行良好。

任何人请帮我提供一种浏览器兼容的方式来验证我的文件上传控件。

1 个答案:

答案 0 :(得分:1)

t不适用于Firefox v3.x,因为它不允许JavaScript从文件输入字段获取完整路径名,并且此特定正则表达式希望看到完整路径名。

使用javascript进行验证而不是正则表达式验证器。

var fileName = fupID.value;  var ext = fileName.substring(fileName.lastIndexOf('。')+ 1);

        if (ext == "wmv" || ext == "WMV" || ext == "avi" || ext == "AVI" || ext == "mp4" || ext == "MP4" || ext == "flv" || ext == "FLV" || ext == "F4V" || ext == "f4v" || ext=="mpg" || ext=="MPG" || ext=="mpeg" || ext=="MPEG" || ext=="mov" || ext=="MOV") {
     // do required code logic here

}