J'ai un peu de mal à essayer de valider les adresses e-mail en utilisant preg_match (ou eregi() si cela convient mieux). J'ai essayé plusieurs modèles regex maintenant et peu importe ce que je fais, ça ne semble pas fonctionner.PHP - preg_match() et eregi() ne fonctionnent pas?
est ici la fonction:
function validateEmail($email) {
if(eregi('[a-z||0-9]@[a-z||0-9].[a-z]', $email)){
return true;
}
}
Toutes les idées ce qui ne va pas? J'ai essayé de mettre un point d'exclamation avant le eregi (et preg_match que j'ai utilisé auparavant), et cela a inversé tout (comme prévu) mais ne l'a pas encore fait fonctionner comme il se doit. Je veux qu'il retourne TRUE s'il ne passe pas la regex.
Et je n'ai pas utilisé la même regex quand sur la fonction preg_match, j'en ai trouvé une autre alors, parce que je sais que vous ne pouvez pas vraiment mélanger les deux. Droite?
Merci d'avance!
Ce n'est pas une expression régulière correcte. '[]' ne correspond qu'à un caractère, et '.' est traité comme un caractère spécial correspondant à * n'importe quel caractère *, et pas seulement' .'. Une regex plus correcte pourrait être: '[a-z0-9] + @ [a-z0-9] + \. [A-z] {2,4}', bien que cela soit - comme l'a dit Nikick - trop strict aussi. –
Frxstrem
Votre regex ne fonctionne pas non plus, donc je ne pense pas que ce soit la regex qui gâche ça. – Nike