Flux rss
Collection CommentCaMarche.net

[PHP] Vérifier le format d'une adresse mail

Publié par Jeff, dernière mise à jour le jeudi 23 octobre 2008 à 12:22:02 par kilian
Il existe plusieurs manières de déterminer si une variable contient une adresse email valide. Ces techniques ne vérifient
pas si l'adresse email existe bien mais elles déterminent si la chaine contenue dans une variable respecte bien le format d'une adresse email.



I) En utilisant un filtre


En utilisant une fonction de la famile des filtres, vous pouvez vérifier qu'une adresse email est valide.
Par exemple filter_var()
Exemple:
if(filter_var($email, FILTER_VALIDATE_EMAIL)){
    //L'email est bonne
}

II) Grâce aux expressions régulières


Grâce aux expressions régulières, il est possible de vérifier si une adresse email, saisie par exemple via un formulaire, est valide.

Voici une fonction qui vérifie si une chaine de caractères est seulement une adresse e mail valide.
function VerifierAdresseMail($adresse)
{
   $Syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,5}$#';
   if(preg_match($Syntaxe,$adresse))
      return true;
   else
     return false;
}

Exemple d'utilisation


Après avoir récupéré le champ "adresse" d'un formulaire :
$adresse=htmlentities($_POST['adresse']);
if(VerifierAdresseMail($adresse))
  echo '<p>Votre adresse est valide.</p>';
else
  echo '<p>Votre adresse e-mail n'est pas valide.</p>';

Explications


Les dièses sont les délimiteurs de la regex.
Le signe ^ indique que la chaine doit commencer par ce qui suit, et le signe $ indique qu'elle doit se terminer par ce qui précède.
\w est une classe abrégée qui correspond a A-Za-z0-9_. soit aux 26 lettres de l'alphabet en majuscules ou minuscules, les dix chiffres et un underscore.

Ce que fait le code


^[\w.-]+@ Commence (^) par au moins un caractère correspondant à la classe abrégée, ou un tiret, puis est suivi par un@.
[\w.-]+ un ou plus de caractères correspondant à la classe abrégée ou un tiret (c'est le nom de domaine)
\.[a-zA-Z]{2,5}$ un point, puis deux à cinq lettres, qui finissent la chaine (c'est la tld du nom de domaine).
Format d'adresse mail (Résolu) Bonjour à tous, Est ce que quelqu'un aurait un site ou un document où il serait décrit le format d'une adresse mail, les règles concernant le format de l'adresse (nom.prenom@site.com) Merci et a bientot. www.commentcamarche.net/forum/affich-766696-format-d-adresse-mail
Adresse mail proposition automatique (Résolu) Bonjour, Quand on tape une adresse mail que ce soit sur messagerie ou un formulaire, plusieurs adresses sont proposées dès les premières lettres. Où se trouve le "repertoire" de ces adresses. En effet, au fil du temps, certaines adresses ne sont plus... www.commentcamarche.net/forum/affich-4337821-adresse-mail-proposition-automatique
Validé adresse mail php ??? (Résolu) Bonjour, je suis entrain de tester la validité d'une adresse mail mais j'ai cet erreur qui saffiche Fatal error: Call to undefined function getmxrr() in C:\wamp\www\popoulos\test.php on line 9 voila le script que j'ai trouver sur une... www.commentcamarche.net/forum/affich-4950125-valide-adresse-mail-php
Une adresse Hotmail ou MSN est indispensable pour MSN / WLMMythe Seules les adresses @hotmail.* ou @msn.* sont utilisables pour MSN / Windows Live Messenger. Réalité FAUX Explication Il existe un procédé extrêmement simple pour activer n'importe quelle adresse mail sur MSN. Cela s'appelle le "Windows... www.commentcamarche.net/faq/sujet-9201-une-adresse-hotmail-ou-msn-est-indispensable-pour-msn-wlm
Google Mail - Envoyer et recevoir des courriels avec GmailToutes les personnes ayant souscrit un abonnement Internet auprès d’un fournisseur d’accès peuvent créer une ou plusieurs adresses mail. Chez Neuf Télécom, le suffixe des adresses est par exemple @neuf.fr, chez Orange/France Télécom @orange.fr. À... www.commentcamarche.net/faq/sujet-14914-google-mail-envoyer-et-recevoir-des-courriels-avec-gmail
CREER ADRESSE MAIL AVEC NOM DOMAINE ET SITE (Résolu)Bonjour, Je souhaiterais savoir comment créer une adresse e.mail avec le nom de ma société derrière (nom de domaine), par ex : nathy@jjjj.com, et faire basculer les e.mails entrant sur mon ancienne adresse mail sur la nouvelle adresse mail svp ? En... www.commentcamarche.net/forum/affich-6491414-creer-adresse-mail-avec-nom-domaine-et-site
Reception outlook de plusieurs adresses mail (Résolu)Bonjour à tous J'ai deux adresses mail, puis je faire en sorte de recevoir les messages pour la première dans "Boite de reception" et pour la deuxème dans "Boite de reception Domi03400" (repertoire que j'ai créé dans mon outlook en sous... www.commentcamarche.net/forum/affich-2174716-reception-outlook-de-plusieurs-adresses-mail
Adresse mail free sous Mac (Résolu)Bonjour, Je doit aller ce soir chez une personne pour essayer de lui configurer une adresse mail free sous Mac.La personne n'y connait rien du tout sous Mac et moi aussi. Mes questions: Est ce une adresse .fr ou . Mac ? Concernant... www.commentcamarche.net/forum/affich-5160293-adresse-mail-free-sous-mac
Télécharger My Notes KeeperMy Notes Keeper est un logiciel de note. L'application est idéale pour le stockage des notes, des adresses mail, des images, des adresses URL, et bien d'autre encore. Les informations sont représentées sous-forme d'arborescence et un puissant éditeur... www.commentcamarche.net/telecharger/telecharger-34057723-my-notes-keeper