this post was submitted on 01 Feb 2024
315 points (98.5% liked)
Comics
453 readers
1 users here now
A community for sharing comics related to programming
Icon base by Delapouite under CC BY 3.0 with modifications to add a gradient
founded 10 months ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
This short article has some good examples at the top: https://sigparser.com/developers/email-parsing/regex-validate-email-address/
Basically, you can very easily make a regex to match 99% of email addresses, but technically an email could be something like "!@[124.35.6.72]"
Ah, yeah. It was never meant to be a be all and all. Just something to clean up the complete trash before I started proofreading. Besides, these were emails the customer provided and could easily be changed afterwords. Their fault if we get bad emails in the list ¯\_(ツ)_/¯
This is the way
You're completely correct. In practice, it's usually good enough to just check for ".+@.+" or ".+@.+\..+". Why? It's broad enough to allow almost everything and it rejects the most obvious typos. And in the end, the final verification would be to send an email there which contains a link, that one has to click to finalize the signup/change. Even if you had a regex that could filter every possible adress that's possible according to the standard, you still wouldn't know whether it really exists.
I wrote a regex that matches 100% of email addresses and had no problems using it. It's ".+@.+"
Meme aside that's what I'd use tbh. Or the ultimate email validation: just sending the signup email and if they typed an invalid email it won't send