Heim > php教程 > PHP源码 > 目前最符合规范的PHP版Email地址验证代码

目前最符合规范的PHP版Email地址验证代码

PHP中文网
Freigeben: 2016-05-25 17:14:31
Original
1079 Leute haben es durchsucht


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) {
			// local part length exceeded
			$isValid = false;
		} else if ($domainLen < 1 || $domainLen > 255) {
			// domain part length exceeded
			$isValid = false;
		} else if ($local [0] == &#39;.&#39; || $local [$localLen - 1] == &#39;.&#39;) {
			// local part starts or ends with &#39;.&#39;
			$isValid = false;
		} else if (preg_match ( &#39;/\\.\\./&#39;, $local )) {
			// local part has two consecutive dots
			$isValid = false;
		} else if (! preg_match ( &#39;/^[A-Za-z0-9\\-\\.]+$/&#39;, $domain )) {
			// character not valid in domain part
			$isValid = false;
		} else if (preg_match ( &#39;/\\.\\./&#39;, $domain )) {
			// domain part has two consecutive dots
			$isValid = false;
		} else if (! preg_match ( &#39;/^(\\\\.|[A-Za-z0-9!#%&`_=\\/$\&#39;*+?^{}|~.-])+$/&#39;, str_replace ( "\\\\", "", $local ) )) {
			// character not valid in local part unless 
			// local part is quoted
			if (! preg_match ( &#39;/^"(\\\\"|[^"])+"$/&#39;, str_replace ( "\\\\", "", $local ) )) {
				$isValid = false;
			}
		}
		//5.3.0 This function is now available on Windows platforms. 
		if ($isValid && ! (checkdnsrr ( $domain, "MX" ) || checkdnsrr ( $domain, "A" ))) {
			// domain not found in DNS
			$isValid = false;
		}
	}
	return $isValid;
}
Nach dem Login kopieren

                   

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Empfehlungen
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage