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"; }
Partager