It looks like there is some copyright on it of Michael Rushton.
As stated: "Feel free to use and redistribute this code.
But please keep this copyright notice."This pattern is extremely complex in case you need to use it with function like "preg_match_all" over big text string with emails inside. I mean if you want to: preg_match_all($pattern, $text_string, $matches); then this complex pattern will overload the server if you need to parse really big [email protected] Haa: Postfix 3.0 supports it for almost two years now: postfix.org/SMTPUTF8_, and it is included in Ubuntu 16.04 and will be included in the next Debian release, for example. Webmail providers like Gmail have also added support for sending/receiving such emails, although you cannot yet create unicode accounts.
Widespread use and support is within reach, and Of course, you can show some warning or tooltip in front-end when user typed "strange" email to help him to avoid common mistakes, like no dot in domain part or spaces in name without quoting and so on.
Our "validate email address" tool is 100% free, superbly fast and very accurate and reliable.
Email addresses: easy to create, difficult to type. Note that FILTER_VALIDATE_EMAIL will validate email addresses that contain domains and top-level domains that do not exist.
The easiest and safest way to check whether an email address is well-formed is to use PHP's filter_var() function.
I'm not sure about 5.3.4 final, but it is written that some 5.3.4-snapshot versions also were affected. How to check if an email address is valid in PHP: use one of the Filter functions, like this: $email1 = "[email protected]"; // not a valid email $email2 = "[email protected]"; // valid email $clean_email1 = filter_var($email1, FILTER_VALIDATE_EMAIL); // $clean_email1 = false $clean_email2 = filter_var($email2, FILTER_VALIDATE_EMAIL); // $clean_email2 = [email protected] The Filter extension was new in PHP 5.2, but is one of the unsung heroes of the language.It's rare for me to ever describe one approach as the "right" way to do something - but for validating data, Filter really is excellent, offering both validating and sanitising filters and generally making it super-easy to clean up incoming variables.Now that you have your easy answer feel free to read on about email address validation if you care to learn or otherwise just use the fast answer and move on. Trying to validate an email address using a regex is an "impossible" task.I would go as far as to say that that regex you have made is useless.
There are three rfc's regarding emailaddresses and writing a regex to catch wrong emailadresses and and the same time don't have false positives is something no mortal can do.