我正在使用带有文件上传(Asp.Net)控件的正则表达式验证器来限制上传的文件。我的正则表达式如下:
^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))+(.wmv|.avi|.mpeg|.MPEG|.mp4|.MP4|.flv|.f4v)$
即使在Firefox中上传正确的文件后,它也会显示验证程序的错误消息。但它在IE中运行良好。
任何人请帮我提供一种浏览器兼容的方式来验证我的文件上传控件。
答案 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
}