RE: [PHP] More Email ereg Validation
| From: | stout at stoutstreet dot com | Date: | Thu, 05 Apr 2001 16:56:50 +0000 |
| Subject: | RE: [PHP] More Email ereg Validation | ||
| Groups: | php.general | ||
| Request: | Send a blank email to php-general+get-47285@lists.php.net to get a copy of this message | ||
Or
([a-zA-Z0-9_\.\-]+)@([a-zA-Z0-9-]+).([a-zA-Z\.]+.?[a-zA-Z])
>> Sorry, but that doesn't work. I thought it would, but it only does two
>> characters on the top level domain again. Tested at
>> http://www.php.comzept.de/rexpr (thanks Jörg!)
>>
>> Does anyone else (a regex guru) have any other suggestions?
>The most recent regex you had:
> ([a-z0-9_\.\-]+)@([a-z0-9\.-]+).([a-z]{2,3})
>would still allow addresses such as ____@---.au or _.-._.@.-.com.
>(Actually, with the . there, you could even have _.-._.@.-|com)
>Regardless, here's a regex I've adjusted to try and keep the address as
>close to good form as possible:
> "^[0-9a-z]+([-_./]([0-9a-z]+))*@[0-9a-z]+([-.]([0-9a-z]+))*\\.[a-z]{2,4}$"
>A little longer, but it does the trick (I've tried hitting it with a bunch
>of possibilities, but I may have missed some. <G>) We have some lists that
>contain (valid) email addresses like joe/loc@fs.fed.us, so I've allowed a /
>as a separator to the left of the @. (If you don't want to allow this, just
>replace [-_./] with [-_.] and it'll be gone.
>At the end of the regex, I allow 2-3 characters but this may need to be 2-5
>shortly since the new TLDs may start coming into use. Up to you.
>Make sure you use eregi instead of just ereg, or lowercase the email address
>before you check it.
>We also go a step further and use checkdnsrr to see if there are any (type
>ANY that is) records available for the hostname part. Not great, but it at
>least tries to see if the hostname exists.
>Let me know if it works out for you.
>Jaime Bozza
>GeoComm International Corp.
>--
>PHP General Mailing List (http://www.php.net/)
>To unsubscribe, e-mail: php-general-unsubscribe@lists.php.net
>For additional commands, e-mail: php-general-help@lists.php.net
>To contact the list administrators, e-mail: php-list-admin@lists.php.net