private function __validEmail($email){
$isValid = true;
$atIndex = strrpos ( $email, "@" );
if (is_bool ( $atIndex ) && ! $atIndex) {
$isValid = false;
}else{
$domain = substr ( $email, $atIndex + 1 );
$local = substr ( $email, 0, $atIndex );
$localLen = strlen ( $local );
$domainLen = strlen ( $domain );
if ($localLen < 1 || $localLen > 64) {
$isValid = false;
} else if ($domainLen < 1 || $domainLen > 255) {
$isValid = false;
} else if ($local [0] == '.' || $local [$localLen - 1] == '.') {
$isValid = false;
} else if (preg_match ( '/\.\./', $local )) {
$isValid = false;
} else if (! preg_match ( '/^[A-Za-z0-9\-\.]+$/', $domain )) {
$isValid = false;
} else if (preg_match ( '/\.\./', $domain )) {
$isValid = false;
} else if (! preg_match ( "/^(\\.|[A-Za-z0-9!#%&`_=\/$'*+?^{}|~.-])+$/", str_replace ( "\\", "", $local ) )) {
if (! preg_match ( '/^"(\\"|[^"])+"$/', str_replace ( "\\", "", $local ) )) {
$isValid = false;
}
}
if ($isValid && ! (checkdnsrr ( $domain, "MX" ) || checkdnsrr ( $domain, "A" ))) {
$isValid = false;
}
}
return $isValid;
}
目前最符合规范的PHP版Email地址验证代码
最新推荐文章于 2024-04-14 20:54:12 发布