They can get ridiculously convoluted as in the case above and, according to the specification, are often too strict anyway.
If you actually check the Google query I linked above, people have been writing (or trying to write) RFC-compliant regular expressions to parse email addresses for years.
Unless you are validating for a specific domain where the email naming policy is more structured.
BTW, please don't validate email addresses on the client-side.
Often, email validation code for web applications checks only for the position of @ and period characters, also assuming the @ character will be in the front of period. Did you know you can use a Java Script Regular Expressions method to check email addresses?
We have different regular expression patterns for validating email address.
In this article, I am sharing some useful cross browsers regular expression patterns for validating email address with java script and jquery.
IMHO, it's best to do some basic validation on the front end so that your users don't lose the data they entered (EX: check for empty fields, validate phone numbers or SSN).
Your regular expression is way too simple to pass for a solid implementation anyway.
See the real thing here: shouldn't the email addresses be validated client side?
But what if I told you there were a way to determine whether or not an email is valid without resorting to regular expressions at all? The activation email is a practice that’s been in use for years, but it’s often paired with complex validations that the email is formatted correctly.
It’s surprisingly easy, and you’re probably already doing it anyway. If you’re going to send an activation email to users, why bother using a gigantic regular expression?
Think about it this way: I register for your website under the email address . That’s probably going to bounce off of the illustrious mail daemon, but the formatting is fine; it’s a valid email address.