Regex vite fait controle email
Résolu
lanou
-
lanou -
lanou -
Bonjour,
alors, pour faire simple j'aimerais vérifier le format (très grossièrement) d'une adresse e-mail, j'ai trouvé quelques solutions mais je pense pas que ca me soit vraiment destiné les expression de 3 lignes de long, c'est simplement pour faire un petit peu propre :)
Je veux juste une adresse comme ceci : nimporte_quoi_@_tout_sauf_un_point_._2ou3_caractère
donc j'en suis arrivé a quelque chose comme ca : #^[^@]+@.+[.][a-z]{2,3}$#i
Ca a l'air de fonctionner même avec plusieurs point après mon @, et c'est justement ca qui m'inquiète, est ce que ca va toujours tomber juste dans le cas ou il y a plusieurs point après mon @ ?
J'ai un peu de mal a saisir comment l'expression s'y prend pour différencier les point(n'importe quoi) des point(caractère) car même en supprimant la dernière partie de mon expression [a-z]{2.... elle arrive quand même a s'arreter au niveau du dernier point.
voila si quelqu'un peut m'éclairer sur ces deux point je le remercie d'avance :)
alors, pour faire simple j'aimerais vérifier le format (très grossièrement) d'une adresse e-mail, j'ai trouvé quelques solutions mais je pense pas que ca me soit vraiment destiné les expression de 3 lignes de long, c'est simplement pour faire un petit peu propre :)
Je veux juste une adresse comme ceci : nimporte_quoi_@_tout_sauf_un_point_._2ou3_caractère
donc j'en suis arrivé a quelque chose comme ca : #^[^@]+@.+[.][a-z]{2,3}$#i
Ca a l'air de fonctionner même avec plusieurs point après mon @, et c'est justement ca qui m'inquiète, est ce que ca va toujours tomber juste dans le cas ou il y a plusieurs point après mon @ ?
J'ai un peu de mal a saisir comment l'expression s'y prend pour différencier les point(n'importe quoi) des point(caractère) car même en supprimant la dernière partie de mon expression [a-z]{2.... elle arrive quand même a s'arreter au niveau du dernier point.
voila si quelqu'un peut m'éclairer sur ces deux point je le remercie d'avance :)
2 réponses
-
Essaye la même syntaxe que pour le @ : #^[^@]+@[^.]+[.][a-z]{2,3}$#i
L'expression régulière considère tes "." supplémentaire comme des caractères correspondant à ton ".+" ca donne donc => (tout sauf @)@(n'importe quoi).(2-3 lettres) ce "n'importe quoi peut contenir plusieurs points. -
Ah si tu veux plusieurs points alors utilise #^[^@]+@(?:[^.]+[.])+[a-z]{2,3}$#i