<?php function valid_email($email){ // First, we check that there's one @ symbol, and that the lengths are right
if(!ereg("^[^@]{1,64}@[^@]{1,255}$",$email)){ // Email invalid because wrong number of characters
in one section,or wrong number of @ symbols. returnfalse; } // Split it into sections to make life easier
$email_array=explode("@",$email); $local_array=explode(".",$email_array[0]); for($i= 0;$i<sizeof($local_array);$i++){ if(!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-]
[A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i])){ returnfalse; } } if(!ereg("^\[?[0-9\.]+\]?$",$email_array[1])){// Check if domain is IP.
If not, it should be valid domain name $domain_array=explode(".",$email_array[1]); if(sizeof($domain_array)< 2){ returnfalse;// Not enough parts to domain