Vérifier un format d'adresse e-mail par regex
- Par Emacs
- 4 commentaires
- 940 lectures
- De Yves Maistriaux
- Site Internet
- RSS - Atom
Il n'est pas rare d'avoir à manipuler des adresses e-mails sur Internet. Le premier besoin que l'on rencontre avec ces données est de pouvoir valider leur format. C'est à dire de vérifier qu'elles soient conformes à un motif particulier. Un moyen d'y arriver est d'avoir recours aux expressions régulières particulièrement puissantes et évoluées en PHP. La fonction qui va suivre a été réalisée à partir d'une regex d'Yves Maistriaux, webmaster du site Expreg.com et référence francophone dans ce domaine.
Portion de code
Fonction de vérification d'une adresse e-mail<?php/******************************************************** Déclaration de la fonction*******************************************************//*** La fonction vérifie le format d'une adresse e-mail au moyen* d'une expression régulière.** @author : Hugo HAMON* @copyright : Yves Maistriaud (Expreg.com)* @param : string $sEmail le format d'adresse email à tester* @return : boolean $bCorrect*/function verifierAdresseEmail($sEmail){// Variables locales$sMotif = '`^[[:alnum:]]([-_.]?[[:alnum:]])*@[[:alnum:]]([-.]?[[:alnum:]])*\.([a-z]{2,4})$`';$bCorrect = false;// Test du format de l'email{$bCorrect = true;}// Renvoi du booléenreturn $bCorrect;}/******************************************************** Exemple d'appel de la fonction*******************************************************/if(verifierAdresseEmail('toto.root@mon-serveur.com')){echo 'Cette adresse e-mail est correcte !';}else{echo 'Cette adresse e-mail est fausse !';}?>
Les commentaires
2. Par j.ducastel le lundi 03 décembre 2007 à 09:09
...Et accessoirement ta fonction renvoie toujours false
P.S. Pourquoi l'envoi de commentaire en ajax ? Parce que ça ne fonctionne pas sous opera par exemple...
3. Par Emacs le lundi 03 décembre 2007 à 21:09
Ah mince effectivement... Satané copié / collé
Merci pour la correction![]()
4. Par Francis le mardi 29 janvier 2008 à 09:09
Ta fonction vérifie uniquement si l'occurence à une syntaxe correcte.
Il serait intéressant d'y ajouter la fonction checkdnsrr() pour vérifier si le MX est existant ou pas.



1. Par Mickaël Wolff le lundi 19 novembre 2007 à 11:11