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 :

valider un email finissant par un point [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    455
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 455
    Points : 109
    Points
    109
    Par défaut valider un email finissant par un point
    Bonjours,

    j'ai repris cette function mais j'ai un problème qui ce pose elle marche super bien mais lorsque le mail finit par blabla@blibli.com. sa retourne rien est-il possible que si l'adresse mail fini par un point sa me modifie le mail en enlevant le point
    comme sa:
    blabla@blibli.com

    ex mon mail inscrit est

    blabla@blibli.com.
    clean_email(blabla@blibli.com.)

    et sa ressort
    blabla@blibli.com

    Merci de votre aide car je vois pas trop comment faire

    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
    21
    22
    23
    //CETTE FONCTION VA NETTOYER L'ADRESSE EMAIL ENTRE DANS LE FORMULAIRE
    function clean_email($email)
    {
    	$email = trim($email);
    	$email = str_replace(" ", "", $email);
     
    	$search = array('@[éèêëÊË]@i','@[ãàâäÂÄ]@i','@[îïÎÏ]@i','@[ûùüÛÜ]@i','@[õôöÔÖ]@i','@[ç]@i','@[ ]@i');
    	$replace = array('e','a','i','u','o','c','');
     
    	$email = preg_replace($search, $replace, $email);
     
    	$email = preg_replace("#[\;\#\n\r\*\'\"<>&\%\!\(\)\{\}\[\]\?\\/\s\|\=\~\,\^\€\$]#", "", $email);
     
    	if (preg_match("/^.+\@(\[?)[a-zA-Z0-9\-\.]+\.([a-zA-Z]{2,4}|[0-9]{1,4})(\]?)$/", $email))
    	{
    		return $email;
    	}
    	else
    	{
    		return false;
    	}
     
    }
    Merci

  2. #2
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    Bonjour,

    soit tu le fais directement dans ton preg_replace ou alors tu le rtrim avant :

    Code php : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $email = rtrim($email, '.');

  3. #3
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    455
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 455
    Points : 109
    Points
    109
    Par défaut
    Merci mais si j'écris akajéèèéàéèéàssdd@yopmail.f.r.

    sa me ressort rien

  4. #4
    Membre émérite Avatar de Madfrix
    Profil pro
    Inscrit en
    Juin 2007
    Messages
    2 326
    Détails du profil
    Informations personnelles :
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Juin 2007
    Messages : 2 326
    Points : 2 566
    Points
    2 566
    Par défaut
    logique tu mets un r entre tes 2 .

    le rtrim va t'enlever tous les . tant qu'il trouve des .

    si tu mets un r entre 2 il s'arrete

  5. #5
    Membre régulier
    Inscrit en
    Février 2008
    Messages
    455
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 455
    Points : 109
    Points
    109
    Par défaut
    oui j'ai fait exprès de mettre f.r. pour voir si sa passait ou pas

    car si un client s'enregistre comme sa moi dans ma base ce sera vide son customer_email

    donc il faudrait fair une vérife et si c'est bon on passe l'email

    mais quant je fais ma vériff avent sa passe

    ex:

    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
     // Définition de l'adresse e-mail à tester
    $sEmailNonTestee = 'akajéèè.éàéèé.àssdd@yopmail.f.r';
    /*
    // Test du format de l'email
    // filter_var() retourne soit l'email si correct
    // ou FALSE en cas d'erreur
    // Le second paramètre est une constante de Filter
    // indiquant quel filtre appliquer sur la donnée
    // transmise en premier paramètre
    */
    if(false !== filter_var($sEmailNonTestee, FILTER_VALIDATE_EMAIL))
    {
    echo 'Cette adresse e-mail est correcte !';
    }
    else
    {
    echo 'Cette adresse e-mail est fausse !';
    }
    sa me sort :Cette adresse e-mail est correcte !

    alors que sa devrait pas

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

Discussions similaires

  1. Validation d'email
    Par G_Kill dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 12/06/2006, 12h15
  2. [RegExp] Les mots finissant par un !
    Par Alexandre T dans le forum Langage
    Réponses: 1
    Dernier message: 08/02/2006, 18h41
  3. [sql] remplacer une virgule par un point
    Par shiners300 dans le forum Oracle
    Réponses: 1
    Dernier message: 23/12/2005, 19h19
  4. comment interdire la validation d'un form par "Entrée&q
    Par taillooo dans le forum Général JavaScript
    Réponses: 16
    Dernier message: 14/09/2005, 17h33
  5. [math] equ sinusoide passant par deux points
    Par ddams dans le forum Mathématiques
    Réponses: 11
    Dernier message: 24/05/2003, 14h12

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