Domanda

Ho un FileUpload con RegularExpressionValidator con la seguente espressione di convalida:

^(([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)$

In questo modo mi assicuro che l'utente carichi solo immagini. Ma per qualche motivo non funziona quando utilizzo Firefox. Perché è così e come posso aggirare il problema?

È stato utile?

Soluzione 3

Ho trovato la soluzione .....

(.*\.([gG][iI][fF]|[jJ][pP][gG]|[jJ][pP][eE][gG]|[bB][mM][pP])$)

Link alla risposta

Godetevi !!!

Altri suggerimenti

Prova questo:

(.*?)\.(jpg|jpeg|png|gif)$

Un miglioramento della soluzione di DaDa che si rivolge alla distinzione tra maiuscole e minuscole:

^(.*?)\.(((j|J)(p|P)(e|E)?(g|G))|((p|P)(n|N)(g|G))|((g|G)(i|I)(f|F)))$

Ho una soluzione a questo problema:

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)");
}

Non funziona con Firefox v3.x perché non consente a JavaScript di ottenere il nome completo del percorso dal campo di input del file e questa particolare espressione regolare prevede di vedere il nome completo del percorso.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top