is_email()验证email地址是否合法

目录

描述

 证 email 地址 否合法。

is_email() 描述

用法

<?php is_email$email ?>

is_email() 用法

参数

$email

(string) (必填) 要检查的 email 地址。

默认值: None

is_email() 参数

返回值

(string|bool) 

返回错误,或者合法 邮件地 

is_email() 返回值

示例

/* ----------------------------------
 * wordpress之魂 © http://wphun.com
 * ---------------------------------- */

if ( is_email( 'email@domain.com' ) ) {
      echo 'email address is valid.';
}

is_email() 示例

注意

不支持 i18n  名的 箱,不兼容 RFC 标准。

is_email() 注意

历史

is_email() 历史

源文件

is_email() 函数的代码位于
wp-includes/formatting.php.

/* ----------------------------------
 * wordpress之魂 © http://wphun.com
 * ---------------------------------- */
/**
 * Verifies that an email is valid.
 *
 * Does not grok i18n domains. Not RFC compliant.
 *
 * @since 0.71
 *
 * @param string $email      Email address to verify.
 * @param bool   $deprecated Deprecated.
 * @return string|bool Either false or the valid email address.
 */
function is_email( $email, $deprecated = false ) {
	if ( ! empty( $deprecated ) )
		_deprecated_argument( __FUNCTION__, '3.0' );

	// Test for the minimum length the email can be
	if ( strlen( $email ) < 3="" )="" {="" *="" *="" filter="" whether="" an="" email="" address="" is="" valid.="" *="" *="" this="" filter="" is="" evaluated="" under="" several="" different="" contexts,="" such="" as="" 'email_too_short',="" *="" 'email_no_at',="" 'local_invalid_chars',="" 'domain_period_sequence',="" 'domain_period_limits',="" *="" 'domain_no_periods',="" 'sub_hyphen_limits',="" 'sub_invalid_chars',="" or="" no="" specific="" context.="" *="" *="" @since="" 2.8.0="" *="" *="" @param="" bool="" $is_email="" whether="" the="" email="" address="" has="" passed="" the="" is_email()="" checks.="" default="" false.="" *="" @param="" string="" $email="" the="" email="" address="" being="" checked.="" *="" @param="" string="" $message="" an="" explanatory="" message="" to="" the="" user.="" *="" @param="" string="" $context="" context="" under="" which="" the="" email="" was="" tested.="" */="" return="" apply_filters(="" 'is_email',="" false,="" $email,="" 'email_too_short'="" );="" }="" test="" for="" an="" @="" character="" after="" the="" first="" position="" if="" (="" strpos(="" $email,="" '@',="" 1="" )="==" false="" )="" {="" *="" this="" filter="" is="" documented="" in="" wp-includes/formatting.php="" */="" return="" apply_filters(="" 'is_email',="" false,="" $email,="" 'email_no_at'="" );="" }="" split="" out="" the="" local="" and="" domain="" parts="" list(="" $local,="" $domain="" )="explode(" '@',="" $email,="" 2="" );="" local="" part="" test="" for="" invalid="" characters="" if="" (="" !preg_match(="" '/^[a-za-z0-9!#$%&'*+\/="?^_`{|}~.-]+$/'," $local="" )="" )="" {="" *="" this="" filter="" is="" documented="" in="" wp-includes/formatting.php="" */="" return="" apply_filters(="" 'is_email',="" false,="" $email,="" 'local_invalid_chars'="" );="" }="" domain="" part="" test="" for="" sequences="" of="" periods="" if="" (="" preg_match(="" '/.{2,}/',="" $domain="" )="" )="" {="" *="" this="" filter="" is="" documented="" in="" wp-includes/formatting.php="" */="" return="" apply_filters(="" 'is_email',="" false,="" $email,="" 'domain_period_sequence'="" );="" }="" test="" for="" leading="" and="" trailing="" periods="" and="" whitespace="" if="" (="" trim(="" $domain,="" "="" x0b."="" )="" !="=" $domain="" )="" {="" *="" this="" filter="" is="" documented="" in="" wp-includes/formatting.php="" */="" return="" apply_filters(="" 'is_email',="" false,="" $email,="" 'domain_period_limits'="" );="" }="" split="" the="" domain="" into="" subs="" $subs="explode(" '.',="" $domain="" );="" assume="" the="" domain="" will="" have="" at="" least="" two="" subs="" if="" (="" 2=""> count( $subs ) ) {
		/** This filter is documented in wp-includes/formatting.php */
		return apply_filters( 'is_email', false, $email, 'domain_no_periods' );
	}

	// Loop through each sub
	foreach ( $subs as $sub ) {
		// Test for leading and trailing hyphens and whitespace
		if ( trim( $sub, " 	

x0B-" ) !== $sub ) {
			/** This filter is documented in wp-includes/formatting.php */
			return apply_filters( 'is_email', false, $email, 'sub_hyphen_limits' );
		}

		// Test for invalid characters
		if ( !preg_match('/^[a-z0-9-]+$/i', $sub ) ) {
			/** This filter is documented in wp-includes/formatting.php */
			return apply_filters( 'is_email', false, $email, 'sub_invalid_chars' );
		}
	}

	// Congratulations your email made it!
	/** This filter is documented in wp-includes/formatting.php */
	return apply_filters( 'is_email', $email, $email, null );
}

is_email() 源文件

相关