ereg et pattern [PHP] - PHP - Programmation
Marsh Posté le 21-03-2004 à 00:00:16
'^' : indique le début de la chaine
'$' : indique la fin de la chaîne a matcher
'*' : zéro occurence ou +
'\' : caractère déchappement car le . est résérvé (caractère unique )
Marsh Posté le 16-12-2009 à 12:56:59
Certes le sujet est vieux, mais je te conseilles de remplacer ton pattern par:
^([A-Za-z0-9_\.-]*)@([A-Za-z_-]*)\.([A-Za-z_\.]*)$
En effet, il affichait un adresse du genre mon-nom@mon-domaine.com comme invalide, ce qui est faux.
Bonnes fêtes à tous.
Marsh Posté le 16-12-2009 à 13:38:05
si tu a php >= 5.2
le mieux c'est filter_var (pas besion de s'embête):
filter_var($email, FILTER_VALIDATE_EMAIL);
sinon suivant le code soucre de FILTER_VALIDATE_EMAIL
le regex est
Code :
|
Marsh Posté le 16-12-2009 à 18:48:45
La solution la plus efficace (mais pas forcément la meilleure) est la validation par email (envoie d'un email avec lien d'activation et attente de l'activation pour valider l'adresse).
Si cette solution est trop contraignante, on peut toujours utiliser la fonction checkdnsrr.
Elle permet de vérifier le nom de domaine de l'adresse email. Mais elle n'assure pas que l'adresse existe vraiment.
Par exemple :
truc@bidulechose.fr ne sera pas validé (car le nom de domaine bidulechose.fr n'est pas enregistré).
jean.martin@gmail.com sera validé (car le nom de domaine existe)
x546efzsfgz@gmail.com sera validé (car le nom de domaine existe, mais s'il y a peu de chance que le compte existe).
EDIT : j'oubliais, cette fonction ne fonctionne pas sous windows.
Marsh Posté le 17-12-2009 à 10:10:51
Faut lire la doc jusqu'au bout
Citation : Version Description |
Marsh Posté le 17-12-2009 à 19:18:21
bien vu
Marsh Posté le 20-03-2004 à 23:52:13
Salut tout le monde, je viens de chercher la syntaxe du pattern pour ereg() pour vérifier un email entré, j'ai trouvé çà:
mais je ne comprend pas le '^', le '$', les '*' et le '\' dans le premier argument...
A quoi ils servent?