L’article I Knew How To Validate An Email Address Until I Read The RFC nous indique que la plupart des expressions régulières utilisées pour valider des adresses de courrier électronique sont trop strictes ! En effet, selon la RFC 2822, ces courriels sont parfaitement valides :
- "Abc\@def"@example.com
- "Fred Bloggs"@example.com
- "Joe\\Blow"@example.com
- "Abc@def"@example.com
- customer/department=shipping@example.com
- $A12345@example.com
- !def!xyz%abc@example.com
- _somename@example.com
Pensez-y la prochaine fois que vous aurez à bâtir un système de validation !
Pour ceux que ça intéresse, voici le regex exact pour la norme RFC2822.
D’un autre côté, les FAI et les fournisseurs d’adresses email sont plus stricts, donc il est très peu probable de tomber sur une adresse du type demain matin!
David Brisebois (22 août 2007 à 12:29 EST)
En effet, c’est peu probable. Sauf qu’il y a probablement des geeks avec leur propres serveurs mail qui possèdent des adresses similaires ;-)
Rémi Prévost (22 août 2007 à 13:01 EST)
Voici l’expression régulière officiel pour ceux qui n’aiment pas les RFC :)
Désolé Rémi de briser ton design.
Benjamin (22 août 2007 à 17:05 EST)
assez intense comme regex :)
Pierre-Luc Babin (22 août 2007 à 21:07 EST)
Si tu avais mis une « tab » en avant de ta ligne au lieu d’utiliser une citation, ça ne l’aurait pas brisé ;)
(Je l’ai corrigé!)
Rémi Prévost (23 août 2007 à 8:01 EST)
La regexp postée par Benjamin mérite d’être utilisée dans un (faux) examen de programmation papier…
« Les adresses de courriels suivantes sont elles valides selon cette expression régulière? »
Mouahahhaha.
Olivier G. (23 août 2007 à 23:10 EST)