Expression régulière
Résolu
Lili_754
Messages postés
137
Statut
Membre
-
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 Réseau
- Expression de recherche - Guide
- Téléchargez cette archive (dossier compressé). en extraire tous les fichiers dans un dossier local. quel fichier contient l’expression trouverpix ? - Forum Windows 7
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);