is_email

is_email

Appears in: , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , , ,
Hook Type: filter

See hook in core

Displaying hooks found in version: wordpress-6.7.1

apply_filters('is_email') is found 9 times:

  • /wp-includes/formatting.php line 3544
    		 * @param string|false $is_email The email address if successfully passed the is_email() checks, false otherwise.
    		 * @param string       $email    The email address being checked.
    		 * @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' );
    
  • /wp-includes/formatting.php line 3550
     
    	// 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 );
    
    	/*
    
  • /wp-includes/formatting.php line 3562
    	 * 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.
    	 */
    
  • /wp-includes/formatting.php line 3571
    	 * 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, " \t\n\r\0\x0B." ) !== $domain ) {
    		/** This filter is documented in wp-includes/formatting.php */
    		return apply_filters( 'is_email', false, $email, 'domain_period_limits' );
    
  • /wp-includes/formatting.php line 3577
     
    	// Test for leading and trailing periods and whitespace.
    	if ( trim( $domain, " \t\n\r\0\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.
    
  • /wp-includes/formatting.php line 3586
     
    	// 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, " \t\n\r\0\x0B-" ) !== $sub ) {
    
  • /wp-includes/formatting.php line 3594
    	foreach ( $subs as $sub ) {
    		// Test for leading and trailing hyphens and whitespace.
    		if ( trim( $sub, " \t\n\r\0\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' );
    
  • /wp-includes/formatting.php line 3600
     
    		// 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 );
    
  • /wp-includes/formatting.php line 3606
    	}
    
    	// Congratulations, your email made it!
    	/** This filter is documented in wp-includes/formatting.php */
    	return apply_filters( 'is_email', $email, $email, null );
    }
    
    /**
     * Converts to ASCII from email subjects.
     *
     * @since 1.2.0