Expression régulière
Résolu
Lili_754
Messages postés
125
Date d'inscription
Statut
Membre
Dernière intervention
-
xamurai Messages postés 223 Date d'inscription Statut Membre Dernière intervention -
xamurai Messages postés 223 Date d'inscription Statut Membre Dernière intervention -
Bonsoir,
Je cherche à faire une expression reguliere d'une adresse mail academique de type: prenom.nom@etr.toto.fr
sachant que le nom et prenom sont des lettres comprisent entre [a-z] mais de taille variant c'est ici que je rencontre mon premier souci.
Merci d'avance :)
Je cherche à faire une expression reguliere d'une adresse mail academique de type: prenom.nom@etr.toto.fr
sachant que le nom et prenom sont des lettres comprisent entre [a-z] mais de taille variant c'est ici que je rencontre mon premier souci.
Merci d'avance :)
A voir également:
- Expression régulière
- Expression écrite cm1 cm2 télécharger gratuit - Télécharger - Éducatifs
- Microsoft expression encoder - Télécharger - Divers Utilitaires
- Avoir du ping expression ✓ - Forum jeux en ligne
- C quoi un ping? ✓ - Forum Réseau
- Expression de recherche - Guide
3 réponses
voila
$regex = '/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/'; $email=pierre.durand@hotmail.com //appliquer la fonction preg_match() sur l'adresse email a tester if (preg_match($regex, $email)) { echo $email . " est au format valide; } else { echo $email ." n'est dans un format valide; }
Alain_42 était sur le bon chemin:
donc modifions un peu son code:
$str = "Jean.tevi@free.com";
donc modifions un peu son code:
$str = "Jean.tevi@free.com";
/* explication 1) prenom/nom: lettres Maj/Min Chiffre, mais ne commence pas par un chiffre ou un tiret, ne se termine pas par un tiret: ([^\d][\w\d-]*[\d\w]) 2) l'hôte: lefttres chifres, sous-domaine, ne commence ni se termine par un tiret: [\d\w][\w\d\.\_-][\d\w] 3) s'il n'existe que 1 sous-domaine et 1 domaine: [\d\w][\w\d\_-][\d\w]\.[\d\w][\w\d\_-][\d\w] le top-domain (,net , .edu, .info) requiert minimum 2 lettres: [\w]{2,} */ $regex = "/^([^\d][\w\d-]*[\d\w]) \. ([^\d][\w\d-]*[\d\w])[@]([\d\w][\w\d\.\_-]+[\d\w]\.[\w]{2,})$/"; if(preg_match($regex , $str, $m)) { echo "prenom: {$m[1]} , nom: {$m[1]} Host: {$m[3]}"; } else { echo "email invalide"; }
#un mail d'étudiant de l'UPMC
$exp2="#^[a-z]+\.[a-z-]+@etu\.upmc\.fr$#";
$chaine2="lili.papi-molo@etu.upmc.fr";
echo "".listeOccurences($exp2,$chaine2);