[PHP] Syntaxe
Alli
-
okuni Messages postés 1325 Statut Membre -
okuni Messages postés 1325 Statut Membre -
Bonjour,
j'ai une petit fonction qui recherche si il n'y a pas de caractères interdits dans un e-mail, mais celle si m'interdit aussi les + que je souhaiterais autoriser dans les e-mail (du type autoriser blabla.tretre+moi@gmail.com )
Je dois avouer que je ne comprend pas grand chose à cette syntaxe.
Que dois-je rajouter ou enlever.
Merci beaucoup
j'ai une petit fonction qui recherche si il n'y a pas de caractères interdits dans un e-mail, mais celle si m'interdit aussi les + que je souhaiterais autoriser dans les e-mail (du type autoriser blabla.tretre+moi@gmail.com )
if ( !eregi("(^[a-z])(\.|-|_)?([0-9a-z]){0,}(\.|-|_)?([a-z0-9]+)((\.|-|_)?([a-z0-9]+)){0,}@([a-z0-9\-]+)\.([a-z]{2,4}$)", $email1) )
{
$a_renvoyer=utf8_encode("Saisir correctement l'e-mail");
}
Je dois avouer que je ne comprend pas grand chose à cette syntaxe.
Que dois-je rajouter ou enlever.
Merci beaucoup
3 réponses
-
essaye de comprendre ce que tu utilises avant de le mettre sur ton site.
va voir le tuto sur le site du zéro qui explique les expression régulière (ou regex)
(^[a-z])(\.|-|_)?([0-9a-z]){0,}(\.|-|_)?([a-z0-9]+)((\.|-|_)?([a-z0-9]+)){0,}@([a-z0-9\-]+)\.([a-z]{2,4}$)
la traduction est :
1) (^[a-z])
la chaine commence par une lettre
2) (\.|-|_)?
Il doit y avoir 0 ou 1 fois un "." ou "-" ou "_"
ainsi de suite.
perso, je trouve ce code particulièrement long et inutile pour une syntaxe de mail.
j'utilise celle-ci qui est plus simple a comprendre.
^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$
1) ^[a-z0-9._-]+
la chaine commence par au moins une lettre minuscule ou un chiffre ou "." ou "_" ou "-"
2) @
doit contenir ensuite un @
3) [a-z0-9._-]{2,}
pareil que 1 sauf qu'il doit au moins avoir 2 caractères.
4) \.[a-z]{2,4}$
ensuite on termine par un point et entre 2 et 4 lettres.
Mais va voir des explication sur les regex ;) -
Merci.
Je pose la question, car c'est un prestataire qui à pondu ce code, que je ne serais pas allé voir, si l'adresse du site envoyé dans l'e-mail n'était pas fausse.
Et je suis bien content de ne pas être le seul à trouver cette syntaxe longue et compliqué pour ce qu'elle à a faire. -