How to REALLY validate emails.
Share this:
- Click to share on Tumblr (Opens in new window)
- Click to share on Twitter (Opens in new window)
- Click to share on Facebook (Opens in new window)
- Click to share on LinkedIn (Opens in new window)
- Click to share on Pocket (Opens in new window)
- Click to share on Telegram (Opens in new window)
- Click to email a link to a friend (Opens in new window)
Well, that’s that. I’ve finally seen something that looks more like line noise than Perl does.
Woah. Have you ever seen a regex that big? Somebody call a priest.
*phew*! I’m glad someone else took the time — now I can spend it at the bar.
The most insane thing I’ve ever seen.
Yes, but when the next person quoted the entire thing when replying with a one line comment on how incredible that regex was..
I’m glad commenting on blogs doesn’t automatically quote the post!
Geez… Frankly…:
([\w]+\.)*([\w]+)@([\w]+)(\.[\w]+)+
is good enough. it’s not as of spammers were trying to insert emails as $^ù_`è.#’@&”~.com
err, even:
(\w+\.)*(\w+)@(\w+)(\.\w+)+
but then, you go the point
That’s the longest regex I’ve seen!
Wow, that is long. I haven’t tested which works better, but this one has always worked fine for me:
/[^\x00-\x20()@,;:".[\]\x7f-\xff]+(?:\.[^\x00-\x20()@,;:".[\]\x7f-\xff]+)*\@[^\x00-\x20()@,;:".[\]\x7f-\xff]+(?:\.[^\x00-\x20()@,;:".[\]\x7f-\xff]+)+/i
Whoops, sorry about that horizontal scrollbar. (Can I edit my own comments somehow?)
I believe it is not how to match email address, but how to match the whole RFC822 address which includes one or more email address. An email address looks like this: john@example.com. But an RFC822 address may look something like “John Doe” <john@example.com>.
Wow: Is it before or after RSA encryption?
Heh. Now he has two problems.
There are lots of valid email addresses that typical regexps don’t catch. IIRC, the following is a valid email address: “a b c”@[127.0.0.1] – a regexp is really not enough to validate an email address, because you end up with a monstrosity like this (with all respect to the author).