2010-09-15 65 views
0

我使用正則表達式驗證文件上傳,以限制上傳的文件(Asp.Net)控制。我的正則表達式如下:正則表達式驗證不起作用在FireFox

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

它甚至還上傳在Firefox中正確的文件後,給出了驗證器的錯誤信息。但它在IE中正常工作。

任何人都可以幫助我提供瀏覽器兼容的方式來驗證我的文件上傳控件。

+0

你能提供好的和壞的字符串的一些例子嗎?我無法分辨這個正則表達式應該做什麼。 – 2010-09-15 05:18:38

回答

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 

}