Vérifier une adresse email avec les regexp

Soyez le premier à donner votre avis sur cette source.

Snippet vu 62 095 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

Messages postés
6
Date d'inscription
mardi 5 novembre 2013
Statut
Membre
Dernière intervention
13 décembre 2013

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.
Messages postés
22
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
24 février 2012

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?
Messages postés
22
Date d'inscription
mardi 26 mai 2009
Statut
Membre
Dernière intervention
24 février 2012

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
Messages postés
1
Date d'inscription
dimanche 18 novembre 2007
Statut
Membre
Dernière intervention
13 mars 2008

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...
Messages postés
2
Date d'inscription
vendredi 23 septembre 2005
Statut
Membre
Dernière intervention
8 novembre 2007

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.