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 :

[regex] comment modifier un regex pour contrôler un email


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 185
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 185
    Par défaut [regex] comment modifier un regex pour contrôler un email
    Bonjour

    Je souhaite contrôller la partie d'un e-mail qui précède le @

    J'ai ceci

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    $atom   = '[-a-z0-9!#$%&\'*+\\/=?^_`{|}~]';   // caractères autorisés avant l'arobase

    Mais je en souhaite pas que les ?!#%$ soit authorisés. J'aimerais juste authoriser les carcatère minuscule et masjuscule, le nombres, un point au plusieurs, un - ou un _ à condition que les point, -, _ ne se suivent pas.

    Je ne connais pas trop les regex et j'ai commencer par ca (mais ca ne fonctionne pas )

    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $atom   = '[/^[A-Za-z0-9._-]+$/]';   // caractères autorisés avant l'arobase

    Code PHP : 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
     
    $atom   = '[-a-z0-9!#$%&\'*+\\/=?^_`{|}~]';   // caractères autorisés avant l'arobase
    	//$atom   = '[/^[A-Za-z0-9._-]+$/]';   // caractères autorisés avant l'arobase
    	$domain = '([a-z0-9]([-a-z0-9]*[a-z0-9]+)?)'; // caractères autorisés après l'arobase (nom de domaine)
     
    	$regex = '/^' . $atom . '+' .   // Une ou plusieurs fois les caractères autorisés avant l'arobase
    	'(\.' . $atom . '+)*' .         // Suivis par zéro point ou plus mais
    									// séparés par des caractères autorisés avant l'arobase
    	'@' .                           // Suivis d'un arobase
    	'(' . $domain . '{1,63}\.)+' .  // Suivis par 1 à 63 caractères autorisés pour le nom de domaine
    									// séparés par des points
    	$domain . '{2,63}$/i';          // Suivi de 2 à 63 caractères autorisés pour le nom de domaine
     
            if(!preg_match($regex, $email))
    	{
    		$code = -2;
    		$message = "[".$code."] Le format de votre e-mail n'est pas valide";
    	}

  2. #2
    Membre expérimenté
    Homme Profil pro
    Webdesigner
    Inscrit en
    Juin 2014
    Messages
    464
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Hautes Pyrénées (Midi Pyrénées)

    Informations professionnelles :
    Activité : Webdesigner
    Secteur : Associations - ONG

    Informations forums :
    Inscription : Juin 2014
    Messages : 464
    Par défaut
    Je ne réponds pas à la question posée, mais...
    Connais-tu la fonction filter_var utilisée avec la constante FILTER_VALIDATE_EMAIL qui vérifie pour nous la validité d'une adresse e-mail ?

    if (filter_var($adresseEmail, FILTER_VALIDATE_EMAIL) ) {...}

  3. #3
    Membre expérimenté
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    3 185
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 185
    Par défaut
    Hello,
    Ha oui c'est une bonne suggestion. Je vais voir ca. Merci

Discussions similaires

  1. comment modifier le script pour zoommer avec un style.cursor?
    Par sebac dans le forum Général JavaScript
    Réponses: 0
    Dernier message: 28/04/2010, 16h08
  2. Comment modifier la BDR pour un autre utilisateur, mais sans regedit ?
    Par Nicolas Coolman dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 23/11/2009, 16h24
  3. Utilisation de Regex pour regrouper des emails
    Par NicoNGRI dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 18/02/2008, 16h51
  4. Réponses: 3
    Dernier message: 16/07/2007, 19h41
  5. Comment modifie une requete pour avoir des sommes?
    Par F@ce27 dans le forum Langage SQL
    Réponses: 8
    Dernier message: 16/06/2006, 13h47

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