this post was submitted on 16 Nov 2024
1138 points (99.1% liked)
Programmer Humor
19817 readers
94 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 2 years ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
It boggles my mind how so many websites and platforms incorrectly say my e-mail address is 'invalid' because it has an apostrophe in it.
No. It is NOT invalid. I have been receiving e-mails for years. You just have a shitty developer.
worst thing is, the regex to check email has been available for decades and it's fine with apostrophies
Well, and remember: If in doubt, send them an e-mail. You probably want to do that anyways to ensure they have access to that mailbox.
You can try to use a regex as a basic sanity check, so they've not accidentally typed a completely different info into there, but the e-mail standard allows so many wild mail addresses, that your basic sanity check might as well be whether they've typed an
@
into there.The regexes are written to comply with RFC 5332 and 6854
They are well defined and you can absolutely definitively check whether an address is allowable or not.
https://datatracker.ietf.org/doc/html/rfc5322
Yeah, I'm just saying that the benefit of using such a regex isn't massive (unless you're building a service which can't send a mail).
a@b
is a syntactically correct e-mail address. Most combinations of letters, an @-symbol and more letters will be syntactically correct, which is what most typos will look like. The regex will only catch fringe cases, such as a user accidentally hitting the spacebar.And then, personally, I don't feel like it's worth pulling in one of those massive regexes (+ possibly a regex library) for most use-cases.
There are many regexes that validate email, and they usually aren't compliant with the RFC, there are some details in the very old answer on SO. So, better not validate and just send a confirmation, than restrict and lock people out, imo
The article you just mentioned in the comments includes both a completely reasonable and viable regex and binary and library alternatives that are in most languages.
Reasonable and viable ≠ RFC compliant
This quote summarises my views:
Yes! Hyphens and "+" are also legal, and while most will accept a dash, many don't allow '+'. But it's explicitly allowed in the spec!
Ugh and that happens a lot if your email domain has an even slightly unusual TLD too.