IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

Validation d'une adresse e-mail [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de sarah65536
    Profil pro
    Développeur informatique
    Inscrit en
    Juin 2006
    Messages
    93
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2006
    Messages : 93
    Par défaut Validation d'une adresse e-mail
    J'essaie de faire une validation d'e-mail la plus complete possible.

    Je permet donc de mettres des points, je test qu'il y ai bien le @, qu'il soit sous la forme :

    xxxxxx@xxx.xxx
    xxx.xxx@xxx.xx
    xxx.xxx.xxx@xxx.xxx.xx
    xxx.xxx.xxx@xxx.xxx.xxx

    viola ce que j'ai utilisé :

    "^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[.a-z0-9-]{3}[.a-z0-9-]*\.[a-z]{2,4}$"

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[.a-z0-9-]{3}[.a-z0-9-]*\.[a-z]{2,4}$",$this->mail))
    {
         echo "l'e-mail n'est pas valide !";
    }
    Cela fonctionne comme je le souhaite, excepté que si deux points sont côtes à côte. il ne faut pas que ce cas puisse se produire.
    exemple :
    xxx.xxx@xx..xxx

    Quelqu'un pourrait m'aider ? parce que la, je m'embrouille beaucoup trop.

    Merci !

  2. #2
    Membre confirmé
    Inscrit en
    Mai 2004
    Messages
    181
    Détails du profil
    Informations forums :
    Inscription : Mai 2004
    Messages : 181
    Par défaut
    bonjour

    essaye avec ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    /^[A-Za-z0-9\.\-_]+[@][A-Za-z0-9\-\.]+[\.][A-Za-z][A-Za-z][A-Za-z]?$/
    a+

  3. #3
    Inactif
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    101
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 101
    Par défaut
    Moi je fait ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    function VerifierAdresseMail($adresse)
    {
       $Syntaxe='#^[\w.-]+@[\w.-]+\.[a-zA-Z]{2,6}$#';
       if(preg_match($Syntaxe,$adresse))
          return true;
       else
         return false;
    }

    ^[\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,6}$ un point, puis deux à six lettres, qui finissent la chaine (c'est la tld du nom de domaine).

  4. #4
    Expert confirmé
    Avatar de N1bus
    Homme Profil pro
    Dev. Web & OpenERP
    Inscrit en
    Janvier 2003
    Messages
    2 827
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 60
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Dev. Web & OpenERP
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Janvier 2003
    Messages : 2 827
    Par défaut
    Et si nous faisions un petit tour dans la FAQ ????
    http://php.developpez.com/faq/?page=mail#mail_verif

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    13
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 13
    Par défaut
    La FAQ n'est pas une bible non plus, elle ne donne pas toujours la meilleure solution pour arriver à ses fins.

    En l'occurrence je dirais :
    filter_var($email, FILTER_VALIDATE_EMAIL);

  6. #6
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 696
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 696
    Par défaut
    Citation Envoyé par Rezouce Voir le message
    La FAQ n'est pas une bible non plus, elle ne donne pas toujours la meilleure solution pour arriver à ses fins.

    En l'occurrence je dirais :
    filter_var($email, FILTER_VALIDATE_EMAIL);
    la fonction "filter_var" n'est pas encore au point non plus, elle refuse par exemple l'adresse "aaaa@domaine" alors qu'elle est valide si le domaine existe

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 2
    Dernier message: 22/04/2011, 15h26
  2. [RegEx] Validation d'une adresse mail
    Par elvan49 dans le forum Langage
    Réponses: 6
    Dernier message: 18/12/2006, 11h32
  3. Réponses: 1
    Dernier message: 05/04/2006, 23h22

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo