par
@rthur » 13 août 2019, 15:36
A noter que ta regex pour vérifier que c'est bien un email est incomplète et fausse car il lui manque pas mal de cas :
- un "\" avant le point de l'extension pour bien indiquer que c'est un point et non pas la représentation de n'importe quel caractère
- la gestion des extensions de + de 4 caractères (.alsace, .amazon, .boutique, .bnpparibas... c'est en train de largement se développer depuis plusieurs mois)
- la gestion des noms de domaines accentués
- le caractère "+" qui est autorisé dans la 1ère partie d'une adresse email
Et je ne suis pas expert donc il y a probablement encore beaucoup d'autres cas manquant.
La bonne pratique pour vérifier qu'une adresse e-mail est correctement formée est d'utiliser une fonction PHP qui fait ça tout seul!
- filter_var
https://php.net/filter_var
- avec le flag FILTER_VALIDATE_EMAIL :
https://www.php.net/manual/fr/filter.fi ... lidate.php
A noter que ta regex pour vérifier que c'est bien un email est incomplète et fausse car il lui manque pas mal de cas :
- un "\" avant le point de l'extension pour bien indiquer que c'est un point et non pas la représentation de n'importe quel caractère
- la gestion des extensions de + de 4 caractères (.alsace, .amazon, .boutique, .bnpparibas... c'est en train de largement se développer depuis plusieurs mois)
- la gestion des noms de domaines accentués
- le caractère "+" qui est autorisé dans la 1ère partie d'une adresse email
Et je ne suis pas expert donc il y a probablement encore beaucoup d'autres cas manquant.
La bonne pratique pour vérifier qu'une adresse e-mail est correctement formée est d'utiliser une fonction PHP qui fait ça tout seul!
- filter_var https://php.net/filter_var
- avec le flag FILTER_VALIDATE_EMAIL : https://www.php.net/manual/fr/filter.filters.validate.php