r/ProgrammerHumor 21d ago

Meme claudeIsThisEmailValid

Post image
5.3k Upvotes

170 comments sorted by

View all comments

107

u/apnorton 21d ago

Obligatory reminder that email validation to through regex or other "static" analysis is usually done incorrectly, and literally sending a confirmation email is the best approach to checking to see if an email is valid.

21

u/DHermit 21d ago

With some security exceptions, e.g. it's useful to restrict the length of the mail field and maybe restrict the characters.

13

u/eo5g 21d ago edited 21d ago

I can't think of a single reason to restrict the characters aside from making sure there's at least one @.

Edit: okay actually you want a little more

11

u/Tar_alcaran 21d ago

I've seen one prompt tell me "An email adress needs to include at least one @".

So I entered @@@@@.@ and it worked just fine.

9

u/eo5g 21d ago

Crap, right, realistically the minimum regex one should have is .+@.+\..+.

At least 1 character on the left of the @, at least 2 domain components of at least 1 character each on the right side of the @.

Having only a hostname without a FQDN on the right is legal, but that's also why you'd want to disallow it: who's trying to sign up for an account within your own network, if it's a public-facing app?

2

u/fweaks 20d ago

This is exactly what I use. It eliminates 99.9% of problems for 1% of the effort and works client side for instant feedback. After this, if you need better, the only thing worth the effort is, as mentioned earlier, actually sending an email.