VÉRIFIER UNE ADRESSE EMAIL AVEC LES REGEXP

StephVBF Messages postés 21 Date d'inscription jeudi 4 avril 2002 Statut Membre Dernière intervention 3 juin 2008 - 4 mai 2002 à 10:01
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
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/15825-verifier-une-adresse-email-avec-les-regexp

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;
}
}
cs_walid981 Messages postés 9 Date d'inscription mercredi 25 décembre 2002 Statut Membre Dernière intervention 31 mai 2007
22 mai 2007 à 12:00
bonjour
ce lien ne marche pas
http://phpcs.com/article.asp?val=17
c'était juste pour information
sinon merci pour ce code
MacFr Messages postés 1 Date d'inscription dimanche 15 octobre 2006 Statut Membre Dernière intervention 18 novembre 2006
18 nov. 2006 à 17:46
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.
markachat Messages postés 17 Date d'inscription jeudi 12 juin 2003 Statut Membre Dernière intervention 13 avril 2005
20 août 2003 à 16:20
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
cs_Romuald Messages postés 172 Date d'inscription lundi 30 avril 2001 Statut Membre Dernière intervention 6 avril 2003
6 mai 2002 à 09:07
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
StephVBF Messages postés 21 Date d'inscription jeudi 4 avril 2002 Statut Membre Dernière intervention 3 juin 2008
4 mai 2002 à 10:04
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
4 mai 2002 à 10:01
Une instruction qui tue, j'ai hâte de la vérifier
Bye
Stéphane