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 :

expression regulière pour contrôle d'adresse mail [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Étudiant
    Inscrit en
    Février 2007
    Messages
    95
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 95
    Points : 53
    Points
    53
    Par défaut expression regulière pour contrôle d'adresse mail
    bonjour à tous,

    plutot que de pompé betement les codes existant(qui fonctionnent tres bien ) je suis en train de faire ma fonction de controle mail..
    bien evidemment ça ne marche pas comme je veux donc pouvez vous me dire ce qui ne vas pas dans mon expression merci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    eregi("^[a-zA-Z0-9\-_\.]@[a-zA-Z0-9\-_\.]$",$mail)
    je commence doucement pour effectuer les tests.

  2. #2
    Membre actif
    Profil pro
    Inscrit en
    Août 2002
    Messages
    194
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2002
    Messages : 194
    Points : 216
    Points
    216
    Par défaut
    ton expression ne marche pas?
    ou elle ne correspond pas à ce que tu veux?

    je n'ai pas parlé les expressions régulières depuis longtemps
    mais à vu de nez je traduis ça par :

    expression qui commence par
    un caractère alphanumérique ou un - un _ ou un .
    puis le caractère @
    puis
    un caractère alphanumérique ou un - un _ ou un .
    fin de l'expression


    à vue de nez ça va matcher les truc du genre
    a@R
    8@t
    _@.

    j'espère que je n'ai pas fait d'erreur de traduction

  3. #3
    Membre éclairé Avatar de haltabush
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    726
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 726
    Points : 835
    Points
    835
    Par défaut
    J'ai trouvé une petite fonciton qui test si l'adresse est bine compatible avec la RFC1822 (il me semble).
    Je vous la colle ici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
     
    //Fonction de vérification de mail... compliquée? ben oui mais conforme RFC822 (la clââAââsse)
    function is_valid_email_address($email){
     
        $qtext = '[^\\x0d\\x22\\x5c\\x80-\\xff]';
        $dtext = '[^\\x0d\\x5b-\\x5d\\x80-\\xff]';
        $atom = '[^\\x00-\\x20\\x22\\x28\\x29\\x2c\\x2e\\x3a-\\x3c'.
                '\\x3e\\x40\\x5b-\\x5d\\x7f-\\xff]+';
        $quoted_pair = '\\x5c[\\x00-\\x7f]';
        $domain_literal = "\\x5b($dtext|$quoted_pair)*\\x5d";
        $quoted_string = "\\x22($qtext|$quoted_pair)*\\x22";
        $domain_ref = $atom;
        $sub_domain = "($domain_ref|$domain_literal)";
        $word = "($atom|$quoted_string)";
        $domain = "$sub_domain(\\x2e$sub_domain)*";
        $local_part = "$word(\\x2e$word)*";
        $addr_spec = "$local_part\\x40$domain";
     
        return preg_match("!^$addr_spec$!", $email) ? 1 : 0;
    }

  4. #4
    Membre du Club
    Étudiant
    Inscrit en
    Février 2007
    Messages
    95
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 95
    Points : 53
    Points
    53
    Par défaut
    ok merci pour votre je vois comment modifier tout ça et je vous tiens au courant

  5. #5
    Membre du Club
    Étudiant
    Inscrit en
    Février 2007
    Messages
    95
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2007
    Messages : 95
    Points : 53
    Points
    53
    Par défaut
    c'est bon j'ai fini.
    bon mon experession n'est pas tres tres pousser dans la verification mais sa permet d'eviter quelque erreur enfin sa repond a mon besoin pour l'instant voila le code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    function verif_mail($mail)
    {
     
     if(eregi("^([a-zA-Z0-9]+)@([a-zA-Z0-9]+).{2,4}$",$mail))
     {
    		echo  "ok<br>";
     }
     else
     {if(eregi("^([a-zA-Z0-9]+)([_\.-]+)([a-zA-Z0-9]+){1,}@([a-zA-Z0-9]+).([a-zA-Z]+){2,4}$",$mail))
     	{echo "ok<br>";}
    	else
    		echo "erreur<br>";
     }
     
     }
    merci encore pour votre aide à bientot

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

Discussions similaires

  1. Réponses: 3
    Dernier message: 12/12/2007, 15h35
  2. expression regulière pour un nombre
    Par al3alwa dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 23/11/2007, 15h32
  3. [RegEx] Expression regulière pour réaliser un sommaire
    Par vodasan dans le forum Langage
    Réponses: 1
    Dernier message: 10/10/2007, 18h13
  4. type de donnée pour inserer l'adresse mail
    Par otari dans le forum Langage SQL
    Réponses: 1
    Dernier message: 06/06/2007, 13h30
  5. Réponses: 13
    Dernier message: 03/06/2005, 11h26

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