Contrôle champ files d'un formulaire

Mammouth du PHP | 768 Messages

18 nov. 2005, 10:13

Bonjour,


Comment puis-je faire pour contrôler en JavaScript que le fichier sélectionné dans le champ de type file soit bien du gif ou jpeg

Code : Tout sélectionner

<input type="file" name="screenshoot" size="30">
Merci pour votre aide.
M A R I O
Si une patte de lapin porte bonheur, qu'a-t-il bien pu arriver au lapin ?

Modérateur PHPfrance
Modérateur PHPfrance | 2575 Messages

18 nov. 2005, 13:09

Regardre cet exemple, qui vérifie si le nom d'un fichier est valide et si son extension est bien ".gif" ou ".jpeg" ou ".jpg".
La fonction de validation est déclenchée quand le champ qui contient le nom du fichier change :

Code : Tout sélectionner

<script> function isImage(filename){ //Expression régulaire de validation var format = "^[a-z0-9/ _-]+([^/ ])+([.]gif|jpeg|jpg)+( ){0,}$"; var searsh = new RegExp(format,"i"); return searsh.test(filename); } function validate(input){ if (isImage(input.value)) { alert ("Le fichier " + input.value + " est une image!"); return true; } else { alert ("Le fichier " + input.value + " n'est pas une images valide!"); input.focus(); } return false; } </script> <input name=filename value="image.gif" onChange="return validate(this);">
L'expression réguliaire de validation est :
var format = "^[a-z0-9/ _-]+([^/ ])+([.]gif|jpeg|jpg)+( ){0,}$";

Explication:

^[a-z0-9/ _-] veut dire le texte doit commencer (^) par des alphanumériques y compris le / le _ et le -

+([^/ ]) en suite, on n'accepte pas ([^..]) le / suivi d'un espace entre le nom et l'extension du fichier

+([.]gif|jpeg|jpg) en suite vient l'extension qui doit commencer par un . suivi de soit (|) le mot gif, jpeg ou jpg

+( ){0,}$ et enfin, la fin du texte ($) peut contenir de 0 à plusieurs espaces
--------//////----//---//----//////
-------//---//----//---//----//---//
------//////----//////-----//////
-----||--------||--||---||
Prendre le recul n'est pas une perte de temps.


ps: Affrontez moi dans l'arène

Mammouth du PHP | 768 Messages

18 nov. 2005, 14:57

merci pour cet explication très complète.
:D
M A R I O
Si une patte de lapin porte bonheur, qu'a-t-il bien pu arriver au lapin ?