Re: Regex for email validation

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

 



tedd wrote:

>>
>>Option 1:   /^[_.]+@[a-z0-9-]+\.com$/
>>
>>This is probably what you meant:
>>
>>/^[a-z0-9_.]+@[a-z0-9-]+\.com$/
>>
>>/Per Jessen, Zürich
> 
> Which is probably what you meant:
> 
> eregi("^[A-Z0-9._%-]+@[A-Z0-9._%-]+\.[A-Z]{2,6}$", $email)
> 
> Email comes in different TLD flavors.

Well, I left that for the OP to figure out.  Still, your regex is
worse - a domain name cannot contain '%'.  The only valid characters
for a domain name are letters, numbers and a hyphen.  Also, maximum
length for a domain name is 64 characters, which could/should be
checked too.  

> But, even that still doesn't cover all the possible and legal Unicode
> code-points that can exist on both sides of the @ of an email address.

No, they can't.  There are no 8-bit characters allowed in an
email-address.  Check out RFC2821. 

> tedd@ˆ.com
> 
> is a legal and working email address.

If that reads "tedd(at)<space>.com", it might be valid on your system,
but not in public. 


/Per Jessen, Zürich


--
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