Re: Regex for email validation
| From: | Kevin Waterson | Date: | Wed, 27 Aug 2008 22:44:41 +0000 |
| Subject: | Re: Regex for email validation | ||
| References: | 1 2 3 4 | Groups: | php.general |
| Request: | Send a blank email to php-general+get-278844@lists.php.net to get a copy of this message | ||
This one time, at band camp, Yeti <yeti@myhich.com> wrote:
> <?php
> # this one worked fine for me, but it does not cover the full RFC
> like: "name" name@notworking.cc OR name <name@notworking.cc>
> $regex =
> "^[a-z0-9,!#\$%&'\*\+/=\?\^_
\{\|}~-]+(\.[a-z0-9,!#\$%&'\*\+/=\?\^_\{\|}~-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*\.([a-z]{2,})$";
> if (eregi($regex, $email)) {
> // do something
> }
> # Beware that the filter functions only work under PHP5+. If your PHP
> supports them they should be the preferred choice
> ?>
There is no silver bullet regex to validate all RFC compliant email address.
Many have tried, but they all fail at some point. The best you can do is
cater to most _sane_ addresses.
And when the domain name space is opened up, well, you will back to strpos() and @
Kevin