Regex email

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Regex email

Re: Regex email

par @rthur » 15 juin 2021, 10:13

L'intérêt d'utiliser FILTER_VALIDATE_EMAIL c'est que ça permet d'être sûr de ne pas oublier de cas particuliers.

Par exemple dans ta regex, tu n'autorises que les extensions (.com, .fr, .info, etc...) de 2 à 4 caractères, or il n'y a pas de raison de limiter à 4.
Voici toutes les extensions possibles, tu verras qu'il y en a beaucoup qui ont + de 4 caractères :
https://data.iana.org/TLD/tlds-alpha-by-domain.txt

Autre exemple, on a le droit d'avoir le caractère "+" dans son mail or toi tu l'interdis.

Et ce ne sont que 2 exemples, mais il y a de façon certaine d'autres cas possible :D
Mais pour s'exercer aux regex, c'est un bon exercice c'est vrai ^^

Re: Regex email

par hikaru59 » 14 juin 2021, 17:16

Merci ça marche.

Re: Regex email

par kevin254kl » 14 juin 2021, 16:11

Salut,

Pour le coup les regex sont assez gourmandes même pour s'entrainer c'est prendre de mauvaise habitudes.
Sinon avec ça de mon côté ça fonctionne

Code : Tout sélectionner

^[a-z0-9._-]+@[a-z0-9_-]{2,}\.{1}[a-z]{2,4}$
J'ai enlevé le . dans [a-z0-9_-] car tu autorisé ça valeur plusieurs fois

Regex email

par hikaru59 » 14 juin 2021, 14:08

Bonjour,
J'ai un problème avec un Regex de validation email :

Code : Tout sélectionner

// $email = "[email protected]"; // Ok $email = "[email protected]"; // Ne doit pas marcher if (preg_match("`^[a-z0-9._-]+@[a-z0-9._-]{2,}\.{1}[a-z]{2,4}$`i", $email)) { echo 'Email ok'; }
Quand je mets plusieurs points devant l'extension : [email protected], ça passe. Ce qui n'est pas normal.
Je sais qu'on peut faire avec FILTER_VALIDATE_EMAIL sans Regex, mais j'utilise le Regex pour apprendre.