Загрузка файла с помощью RegularExpressionValidator не работает только с Firefox IE
-
03-07-2019 - |
Вопрос
У меня есть FileUpload с RegularExpressionValidator со следующим выражением проверки:
^(([a-zA-Z]:)|(\\{2}\w+)\$?)(\\(\w[\w].*))+(.gif|.jpg|.JPG|.JPEG|.GIF|.jpeg|.png|.bmp|.3dm|.3dmf|.ai|.drw|.dxf|.esp|.mng|.png|.ps|.psp|.svg|.tiff)$
Таким образом, я удостоверяюсь, что Пользователь загружает только изображения.Но по какой-то причине это не работает, когда я использую Firefox.Почему это так и как я могу обойти проблему?
Решение 3
Я нашел решение.....
(.*\.([gG][iI][fF]|[jJ][pP][gG]|[jJ][pP][eE][gG]|[bB][mM][pP])$)
Наслаждайтесь!!!
Другие советы
Попробуй это:
(.*?)\.(jpg|jpeg|png|gif)$
Усовершенствование решения DaDa, учитывающее регистр символов.:
^(.*?)\.(((j|J)(p|P)(e|E)?(g|G))|((p|P)(n|N)(g|G))|((g|G)(i|I)(f|F)))$
У меня есть решение этой проблемы:
var reg = /([^\s]+(?=.(jpg|gif|png|jpeg)).\2)/gm;
if (reg.test(uploadcontrol) == false) {
alert("Please upload valid image formats(.jpg,.gif,.jpeg and .png)");
}
Это не работает с Firefox v3.x, потому что это не позволяет JavaScript получать полное имя пути из поля ввода файла, и это конкретное регулярное выражение ожидает увидеть полное имя пути.
Не связан с StackOverflow