Vérifier une adresse email avec les regexp

5/5 (11 avis)

Snippet vu 66 893 fois - Téléchargée 27 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
y3dev
Messages postés
6
Date d'inscription
mardi 5 novembre 2013
Statut
Membre
Dernière intervention
13 décembre 2013

6 nov. 2013 à 19:51
Salut, voici un petit article qui pourrait vous aidez :

http://www.y3dev.com/?p=210

la regexp de cette article gère bien tout les types de mails.
renkev
Messages postés
22
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
24 février 2012

22 août 2011 à 12:48
je sais maintenant que les méthodes test et excec e marchent pas sur ie, quelqu’un connait -il une autre méthode équivalente qui permette d'obtenir le meme résultat?
renkev
Messages postés
22
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
24 février 2012

22 août 2011 à 12:03
Fonction intéressante et fort pratique, par contre j'ai remarqué qu'elle avait des soucis de fonctionnement dans certains cas :

pour avoir développé un script similaire et tester son fonctionnement sur plusieurs navigateurs,j'ai pu constater que pour un nombre important de caractères on observe des bugs sur le navigateur (internet explorer, google chrome par exemple tandis que sur Mozilla Firefox il marche correctement.
voici le code que j'ai utilisé pour ma part, si quelqu’un sait comment résoudre ces bugs qu'il m'en fasse part.

function email_validate_InputEmail00() {
var field = document.getElementById('InputEmail00').value;
var reg = new RegExp("^([a-zA-Z0-9_-])+([.]?[a-zA-Z0-9_-]{1,})*@([a-zA-Z0-9-_]{2,}[.])+[a-zA-Z]{2,3}$");

if (reg.test(field)) {
return true;
}
return false;
}

pour l'essai tester l'adresse aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa@hhhhhhhhhhhhhh.kkkkkkkkkj.hy.fffffffff par example
cs_Rusk
Messages postés
1
Date d'inscription
dimanche 18 novembre 2007
Statut
Membre
Dernière intervention
13 mars 2008

13 mars 2008 à 23:02
http://www.devlog.be/index.php/devlog/2008/01/19/valider_une_adresse_email_dans_un_formul

Je suis tomber sur ce site en cherchent justement a faire une REGEXP pour valider une email... très intéressant! L'article parle de la norme sur les email... genre:

ben!#$*-_@miam.be
truc+machin@miam.miam.miam.be
dupont&dupond{enqueteurs}@compagnie.com
"henri dupont"@compagnie.com
"henri@comtpabilité"@compagnies

tous serais valide oO...
hicmanx
Messages postés
2
Date d'inscription
vendredi 23 septembre 2005
Statut
Membre
Dernière intervention
8 novembre 2007

8 nov. 2007 à 22:45
bon c'est Monsieur 99% des devloppeur verifie juste le @ si il existe voila la fonctions complete :

function Test()
{
var mail = document.form1.mail.value;
var re=RegExp("^([a-zA-Z0-9_-])+([.]?[a-zA-Z0-9_-]{1,})*@([a-zA-Z0-9-_]{2,}[.])+[a-zA-Z]{2,3}$");
if(!re.test(mail))
{
alert("c'est pas une adresse valide");
return false;
}
else
{
alert("c'est une adresse valide");
return false;
}
}
Afficher les 11 commentaires

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.