-
-
Save cjaoude/fd9910626629b53c4d25 to your computer and use it in GitHub Desktop.
Use: for testing against email regex | |
ref: http://codefool.tumblr.com/post/15288874550/list-of-valid-and-invalid-email-addresses | |
List of Valid Email Addresses | |
email@example.com | |
firstname.lastname@example.com | |
email@subdomain.example.com | |
firstname+lastname@example.com | |
email@123.123.123.123 | |
email@[123.123.123.123] | |
"email"@example.com | |
1234567890@example.com | |
email@example-one.com | |
_______@example.com | |
email@example.name | |
email@example.museum | |
email@example.co.jp | |
firstname-lastname@example.com | |
List of Strange Valid Email Addresses | |
much.”more\ unusual”@example.com | |
very.unusual.”@”.unusual.com@example.com | |
very.”(),:;<>[]”.VERY.”very@\\ "very”.unusual@strange.example.com | |
List of Invalid Email Addresses | |
plainaddress | |
#@%^%#$@#$@#.com | |
@example.com | |
Joe Smith <email@example.com> | |
email.example.com | |
email@example@example.com | |
.email@example.com | |
email.@example.com | |
email..email@example.com | |
あいうえお@example.com | |
email@example.com (Joe Smith) | |
email@example | |
email@-example.com | |
email@example.web | |
email@111.222.333.44444 | |
email@example..com | |
Abc..123@example.com | |
List of Strange Invalid Email Addresses | |
”(),:;<>[\]@example.com | |
just”not”right@example.com | |
this\ is"really"not\allowed@example.com |
ok
ok
ok
ok
ok
ok
ok
ok
Don't forget names and utf8:
=?utf-8?B?R0FSQU5UIEJDIERNQ0M=?= <2342431@mycompany.com>
ok
ok
ok
ok
ok
@frattaro If this is a 'humble' opinion, I don't want to know the 'supreme' opinion
@cizordj It was never mentioned that the opinion was humble. I think it was meant to be supreme from the beginning.
@RobKenis he literally said IMO 🐱
@cizordj And what does IMO stand for
@cizordj And what does IMO stand for
"In My Office"
@cizordj And what does IMO stand for
"In My Office"
"Iguanas Making Omelets"
@cizordj And what does IMO stand for
"In My Office"
"Iguanas Making Omelets"
"Invisible Martian Orchestras"
ok
I added "IMO" - "In my opinion" - lastly after writing that, because I finished and thought "you know, it wouldn't be that much more work to measure the byte lengths of the strings... and I'd bet you $5 that regex is missing some unicode ranges. I should probably package this up. I'm not gonna do that. You know what? I'll just say it's an opinion because it's good enough and I'm done with it."
ok
@frattaro tldr
@kinduff ok
@cizordj And what does IMO stand for
"In My Office"
"Iguanas Making Omelets"
"Invisible Martian Orchestras"
Interpolate my onions.
ok
I added "IMO" - "In my opinion" - lastly after writing that, because I finished and thought "you know, it wouldn't be that much more work to measure the byte lengths of the strings... and I'd bet you $5 that regex is missing some unicode ranges. I should probably package this up. I'm not gonna do that. You know what? I'll just say it's an opinion because it's good enough and I'm done with it."
ok
@cizordj And what does IMO stand for
"In My Office"
"Iguanas Making Omelets"
"Invisible Martian Orchestras"
Interpolate my onions.
Iced Mocha Overload
@cizordj And what does IMO stand for
Intellectuals Meeting Ogres
This answers all the regex questions about email: https://youtu.be/mrGfahzt-4Q?feature=shared&t=992
This answers all the regex questions about email: https://youtu.be/mrGfahzt-4Q?feature=shared&t=992
We don't want answers about email, we want answers about what IMO stands for
This answers all the regex questions about email: https://youtu.be/mrGfahzt-4Q?feature=shared&t=992
We don't want answers about email, we want answers about what IMO stands for
It's Means Ok
This is why English can be confusing sometimes, specially for foreigners.
really ok
ok
ok
ok
IMO:
Regarding the local part, the original rfc822 says:
And that's the way the world works, RFCs don't send emails. A "valid" local part is completely up to the email server hosting the address. The only limitations on that are the arbitrary ones placed there by your email-sending pipeline.
Max-length is interesting, since the internet supports utf8 now, a "character" can be up to 4 bytes. With a limit of 256 bytes in the domain part, without parsing to punycode, safest bet is to limit it to 63 characters. That way you don't have to worry about subdomains being more than 63 characters either, since they need to fit the whole thing in there.
So your final validation should: