This article describes the method of PHP regular verification of Email. Share it with everyone for your reference. The details are as follows:
?
|
<🎜>function 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; } ?> |
I hope this article will be helpful to everyone’s PHP programming design.