Vérifier une adresse email avec les regexp

Soyez le premier à donner votre avis sur cette source.

Snippet vu 61 264 fois - Téléchargée 25 fois

Contenu du snippet

Ce petit script vous permet de vérifier le formatage d'une adresse email.

Vous pouvez le modifier si j'ai oublié de spécifier des contraintes ;-)

Source / Exemple :


<HTML>
<HEAD>
	<link rel="stylesheet" type="text/css" href="style.css">
	
	<script language="javascript">
		/*
			Via ce script vous spécifiez que l'email doit : 
			- contenir une arobase et un point
			- avant la présence de l'arobase nous pouvons trouver, des lettres quelconques
				(en minuscule ou majuscule), n'importe quel chiffre, et les caractères "-" ou "_"
			- aprés l'arobase, la vérification reste la même mais on interdit la présence de "_"
				et il faut impérativement au moins de caractères entre l'arobase et le point
			- aprés le point, nous devons une succession de 2 ou 3 caractères doivent être
				présentes afin de pouvoir valider l'adresse email.	

  • /
function validation() { var email = document.formulaire.EMAIL.value; var verif = /^[a-zA-Z0-9_-]+@[a-zA-Z0-9-]{2,}[.][a-zA-Z]{2,3}$/ if (verif.exec(email) == null) { alert("Votre email est incorrecte"); return false; } else { alert("Votre email est correcte"); return true; } } </script> </HEAD> <BODY bgcolor=black text=white> <form name="formulaire" onsubmit="return validation();"> <INPUT name="EMAIL" size=35>&nbsp;&nbsp;&nbsp;&nbsp; <input type="submit" value="Ok"> </form> </BODY> </HTML>

Conclusion :


Si vous avez des améliorations à apporter, n'hésitez pas à m'en faire part...

A voir également

Ajouter un commentaire

Commentaires

StephVBF
Messages postés
21
Date d'inscription
jeudi 4 avril 2002
Statut
Membre
Dernière intervention
3 juin 2008
-
Une instruction qui tue, j'ai hâte de la vérifier
Bye
Stéphane
StephVBF
Messages postés
21
Date d'inscription
jeudi 4 avril 2002
Statut
Membre
Dernière intervention
3 juin 2008
-
Une instruction qui tue, j'ai hâte de la vérifier
Bye
Stéphane
cs_Romuald
Messages postés
172
Date d'inscription
lundi 30 avril 2001
Statut
Membre
Dernière intervention
6 avril 2003
-
Petites améliorations à apporter ;o)
Comme :
utiliser verif = new RegExp("[a-z.....");
il te manque notement le caractère '.' pour la vérification, par exemple machin.bidule@truc.dom ne passe pas. Le caractère '+' est aussi valide même s'il ne fait pas parti de l'adresse elle même (par exemple toto+spam@yahoo.fr sera envoyé à toto@yahoo.fr, mais ça ne marche pas avec tous les serveurs apparement)
Porte le nombre de caractères possibles à 4 pour la dernière partie de l'email pour que les personnes ayant un domaine en .info puisse valider leurs emails.
Utiliser .test() à la place de .exec(), pas sur mais je crois que ça bouffe moins de ressources (si peu )
J'ai un code pour vérifier les adresses emails que j'ai ms sur PHP Codes Sources, tu peux t'en inspirer si tu veux ;) http://phpcs.com/article.asp?val=17
markachat
Messages postés
17
Date d'inscription
jeudi 12 juin 2003
Statut
Membre
Dernière intervention
13 avril 2005
-
L'idée est très bonne, enfin quelqu'un qui se soucie de vérifier un peu plus que ce que font 99% des webmaster, à savoir si il y a un @ dans la valeur, et puis c'est tout. Mais tu oublies pas mal de cas. Par exemple, les noms de domaines à rallonge, ex: machin@chose.bidule.truc.com (universités exemple concret info@fapse.ulg.ac.be), il faut penser aussi à ceux qui n'utilise pas le DNS et qui donne une adresse IP. Je te propose le code suivant que j'ai déposé sur ce site.
/^[^@]+@(([w-]+.){1,4}[a-zA-Z]{2,4}|(([01]?d?d|2[0-4]d|25[0-5]).){3}([01]?d?d|2[0-4]d|25[0-5]))$/
Bien à toi
Mike
MacFr
Messages postés
1
Date d'inscription
dimanche 15 octobre 2006
Statut
Membre
Dernière intervention
18 novembre 2006
-
Pour ma part j'ai modifié le masque regex comme suit :
new RegExp("^([a-zA-Z0-9_-])+([.]?[a-zA-Z0-9_-]{1,})*@([a-zA-Z0-9-_]{2,}[.])+[a-zA-Z]{2,3}$");
Avec ça on a toutes les adresses mails possibles, exceptée celle avec une extension contenant des chiffres genre c0m et celles avec d'adresse IP.

J'utilise exec et pas test, ce dernier ne marchant pas.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.