Re: Re: Valid email address syntax script?

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On 3 May 2005, at 19:18, Matthew Weier O'Phinney wrote:

* Jm <frawst1@xxxxxxxxx>:

Does anyone have a nice email address syntax checking script they'd
like to share? Regular expression-based anyone? TIA.


I use the following regex:

    preg_match('/[^@\s]+@([-a-z0-9]+\.)+[a-z]{2,}$/i', $email)

I believe I got it out of the PHP Cookbook, by David Sklar, but I can't
remember for certain. It's not 100% accurate, but I rarely have
complaints from users whose emails don't validate.

I've used this one quite heavily. It doesn't go as far as checking TLDs, but it's quite tight on RFC2822 and allows things like numeric addresses:


preg_match('/^(?:[\w\!\#\$\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+\.)*[\w\!\#\ $\%\&\'\*\+\-\/\=\?\^\`\{\|\}\~]+@(?:(?:(?:[a-zA-Z0-9](?:[a-zA-Z0-9\-] (?!\.)){0,61}[a-zA-Z0-9]?\.)+[a-zA-Z0-9](?:[a-zA-Z0-9\-](?!$)){0,61} [a-zA-Z0-9]?)|(?:\[(?:(?:[01]?\d{1,2}|2[0-4]\d|25[0-5])\.){3}(?:[01]? \d{1,2}|2[0-4]\d|25[0-5])\]))$/', $email);

I got it from here - they have some more and some commercial products that go further:

http://www.hexillion.com/samples/#Regex

Marcus

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php


[Index of Archives]     [PHP Home]     [Apache Users]     [PHP on Windows]     [Kernel Newbies]     [PHP Install]     [PHP Classes]     [Pear]     [Postgresql]     [Postgresql PHP]     [PHP on Windows]     [PHP Database Programming]     [PHP SOAP]

  Powered by Linux