1. 首页
  2. WordPress 函数手册

is_email()

is_email( string $email, bool $deprecated = false )

验证电子邮件是否有效。
Verifies that an email is valid.

目录锚点:#说明#参数#返回#源码#笔记


说明(Description)

不支持i18n域。不符合RFC。


参数(Parameters)

参数 类型 必填 说明
$email (string) 必需 要验证的电子邮件地址。
$deprecated (bool) 可选 已弃用。

返回(Return)

(string|false)成功时为有效电子邮件地址,失败时为false。


源码(Source)

/**
 * 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(="" '/^&#91;a-za-z0-9!#$%&'*+\/="?^_`{|}~.-&#93;+$/'," $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 );
}
更新版本 源码位置 使用 被使用
0.71 wp-includes/formatting.php:3389 22 3

笔记(Notes)

例子

is_email() 为WP2原创文章,链接:https://www.wp2.cn/functions/is_email/

发表评论

您的电子邮箱地址不会被公开。