Page 1 sur 1

Contrôle champ files d'un formulaire

Posté : 18 nov. 2005, 10:13
par mario
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.

Posté : 18 nov. 2005, 13:09
par sadeq
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

Posté : 18 nov. 2005, 14:57
par mario
merci pour cet explication très complète.
:D