Welcome 微信登录

首页 / 网页编程 / PHP / PHP正则验证Email的方法

本文实例讲述了PHP正则验证Email的方法。分享给大家供大家参考。具体如下:
<?phpfunction validateEmail($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) { // local part length exceeded $isValid = false; } else if ($domainLen < 1 || $domainLen > 255) { // domain part length exceeded $isValid = false; } else if ($local[0] == "." || $local[$localLen-1] == ".") { // local part starts or ends with "." $isValid = false; } else if (preg_match("/\.\./", $local)) { // local part has two consecutive dots $isValid = false; } else if (!preg_match("/^[A-Za-z0-9\-\.]+$/", $domain)) { // character not valid in domain part $isValid = false; } else if (preg_match("/\.\./", $domain)) { // domain part has two consecutive dots $isValid = false; } else if(!preg_match("/^(\\.|[A-Za-z0-9!#%&`_=\/$"*+?^{}|~.-])+$/", str_replace("\\","",$local))) { // character not valid in local part unless// local part is quoted if (!preg_match("/^"(\\"|[^"])+"$/", str_replace("\\","",$local))) {$isValid = false; } } if ($isValid && !(checkdnsrr($domain,"MX") || checkdnsrr($domain,"A"))) { // domain not found in DNS $isValid = false; }}return $isValid;}?>
希望本文所述对大家的php程序设计有所帮助。