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 :

[Mail] eregi() et adresse mail


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Octobre 2005
    Messages : 117
    Par défaut [Mail] eregi() et adresse mail
    Bonsoir à tous,

    Je souhaite vérifier la saisie d'un utilisateur. L'utilisateur doit normalement saisir ce qu'il y a dans son adresse email avant le "@domaine.com". Je vérifie donc les caractères.

    Mais je ne suis aps sur de la syntaxe, car je ne suis aps sur de saisir à 100% la facon de vérifier les caractères saisis...

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*$",$pseudo))	{
    	die("Pas bon môssieur ! ;)<br />\n");
    }
    Merci d'avance pour votre aide !!

  2. #2
    Membre confirmé
    Avatar de elitemedia
    Profil pro
    Inscrit en
    Août 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 115
    Par défaut
    Voici une petite fonction qui m'est bien utile, tu peux l'adapter pour toi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function checkEmail($email)
    {
        if(eregi('^[_a-z0-9-]+(\.[_a-z0-9-]*)*@[a-z0-9-]+(\.[a-z0-9-]+)+$', $email))
        {
            return true;
        }
    return false;
    }

  3. #3
    Membre émérite Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Par défaut
    Bonsoir,

    Pensez à utiliser plutôt les expressions régulières PERL qui sont plus rapide et dont l'utilisation est recommandée.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function checkEmail($email) {
        if (preg_match('/^[a-z0-9_.]+@[a-z0-9._-]+.[a-z]{2,4}$/i', $email)) {
            return true;
        } 
        return false;
    }
    Bonne soirée

  4. #4
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Octobre 2005
    Messages : 117
    Par défaut
    Citation Envoyé par elitemedia
    Voici une petite fonction qui m'est bien utile, tu peux l'adapter pour toi:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function checkEmail($email)
    {
        if(eregi('^[_a-z0-9-]+(\.[_a-z0-9-]*)*@[a-z0-9-]+(\.[a-z0-9-]+)+$', $email))
        {
            return true;
        }
    return false;
    }
    C'est bien ce que je cherches à adapter, mon problème est au niveau de la vérification des caractères ! SI je supprime tout ce qu'il y a après le @, ca ira ?

  5. #5
    Membre émérite Avatar de FCYPBA
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    745
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Novembre 2004
    Messages : 745
    Par défaut
    Pour ne vérifier que la première partie, il te suffit simplement de supprimer la partie @[a-z0-9._-]+.[a-z]{2,4} dans l'expression perl.

    De cette façon, tu vérifieras que ce qui est saisi correspond au début d'un email.

  6. #6
    Membre confirmé
    Inscrit en
    Octobre 2005
    Messages
    117
    Détails du profil
    Informations personnelles :
    Âge : 39

    Informations forums :
    Inscription : Octobre 2005
    Messages : 117
    Par défaut
    Voilà ce que j'ai utilisé, ca semble valable :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    // mail ok,vérification des caractères spécieux non présents 
    if (!eregi("^[_a-z0-9-]+(\.[_a-z0-9-]+)*$",$pseudo))	{
    	die("Pas bon<br /><br />\n");
    }

  7. #7
    Membre confirmé
    Avatar de elitemedia
    Profil pro
    Inscrit en
    Août 2006
    Messages
    115
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 115
    Par défaut
    Je suis pas du tout spécialiste des expressions régulières donc certains pourrons me corriger, mais je ferai :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ^[_a-z0-9-]+(\.[_a-z0-9-]*)+$
    Sinon je pense qu'il serait judicieux de tenir compte de la remarque faite par FCYPBA

Discussions similaires

  1. [Mail] Validation d'adresses mail
    Par kev484 dans le forum Langage
    Réponses: 1
    Dernier message: 17/01/2008, 20h44
  2. [Mail] Récuperer l'adresse mail qui n'a pas aboutit!
    Par lilo415 dans le forum Langage
    Réponses: 7
    Dernier message: 29/12/2006, 13h19
  3. [Mail] Pinguer une adresse mail
    Par dorian53 dans le forum Langage
    Réponses: 10
    Dernier message: 20/12/2006, 18h39
  4. [Mail] verifie une adresse mail avant envoi
    Par nebil dans le forum Langage
    Réponses: 3
    Dernier message: 29/03/2006, 01h12
  5. Réponses: 5
    Dernier message: 27/03/2006, 12h06

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