this post was submitted on 14 Feb 2025
888 points (98.5% liked)

Programmer Humor

20704 readers
1612 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

founded 2 years ago
MODERATORS
 
you are viewing a single comment's thread
view the rest of the comments
[โ€“] [email protected] 10 points 1 week ago* (last edited 1 week ago) (2 children)

It's the RFC standard regex for email, so it's definitely valid, btw. My copy/paste just seems to add a bunch of backslashes for some reason

[โ€“] [email protected] 4 points 6 days ago

Where did you get that "RFC standard" regex? It doesn't allow domain names with one component RFC5321

Neither does it allow spaces in quoted string, as per RFC5322

This, ๐Ÿ‘‹@โœ‰๏ธ.gg, is already a working email address in most clients and if RFC6532 ever gets accepted, it would be officially recognized as such.

My point isn't to make your regex bad, just that it doesn't validate or invalidate an email properly. Nothing stops me from giving you and invalid but syntactically correct email after all.
You have to send an email anyways to verify, so the most you can check is the presence of one @ symbol.

[โ€“] [email protected] 5 points 1 week ago (1 children)

The argument here is that checking complex validation is a fool's errand. Yes, you can write a fully validating regex for RFC email. In fact, it should be possible to write a regex shorter than the one that gets passed around since the 90s, because regular expression engines support recursive patterns now. (Part of the reason that old regex is so complicated is because email allows nested comments (which is insane (how insane? (Lisp levels insane)))).

However, it doesn't get you much of anywhere. What you really want to know is if it's a valid email or not, and the only way to do that is to send an email to that address with a confirmation. The only point of the regex is to throw away obviously bad addresses. For that, checking that there's an @ symbol and something for the user and domain portions is sufficient. I'd add needing a dot in the domain portion, but it's not that important.

Classically, it was argued that emails don't even need a domain portion when things are done for internal systems, or that internal domains don't need a tld. In my personal experience, this is rarely done anymore and can be safely ignored. Maybe some very, very old legacy systems, and if you're working on one of those, then sure. For everyone else, don't worry about it. You're probably working on publicly accessible systems, and even if you're not, most users are going to prefer using their fully spec'd out email address, anyway.

[โ€“] [email protected] 1 points 1 week ago (1 children)

Cool story bro, go argue with the IETF

[โ€“] [email protected] 2 points 1 week ago (1 children)

Why? Do you think nested comments are a good idea?

[โ€“] [email protected] 1 points 6 days ago* (last edited 6 days ago)

Deleted by user.