Валидатор регулярных выражений с контролем загрузки файлов (asp.net) не работает в FireFox - PullRequest
0 голосов
/ 15 сентября 2010

Я использую Средство проверки регулярных выражений с загрузкой файла (Asp.Net), чтобы ограничить загрузку файлов.Мое регулярное выражение выглядит следующим образом:

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

Это выдает сообщение об ошибке валидатора даже после загрузки нужного файла в Firefox.Но в IE это работает нормально.

Любой, пожалуйста, помогите мне предоставить браузер-совместимый способ проверки моего контроля загрузки файлов.

1 Ответ

1 голос
/ 17 ноября 2010

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

}

...