Switch language

wpseek.com
A WordPress-centric search engine for devs and theme authors




is_email [ WordPress Function ]

is_email ( $email, $deprecated = false )
Parameters:
  • (string) $email Email address to verify.
  • (boolean) $deprecated Deprecated.
Returns:
  • (string|bool) Either false or the valid email address.
Defined at:



Verifies that an email is valid.

Does not grok i18n domains. Not RFC compliant.

Source


<?php
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 ) < ) {
        return 
apply_filters'is_email'false$email'email_too_short' );
    }

    
// Test for an @ character after the first position
    
if ( strpos$email'@') === false ) {
        return 
apply_filters'is_email'false$email'email_no_at' );
    }

    
// Split out the local and domain parts
    
list( $local$domain ) = explode'@'$email);

    
// LOCAL PART
    // Test for invalid characters
    
if ( !preg_match'/^[a-zA-Z0-9!#$%&\'*+\/=?^_`{|}~\.-]+$/'$local ) ) {
        return 
apply_filters'is_email'false$email'local_invalid_chars' );
    }

    
// DOMAIN PART
    // Test for sequences of periods
    
if ( preg_match'/\.{2,}/'$domain ) ) {
        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 ) {
        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 ( count$subs ) ) {
        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 ) {
            return 
apply_filters'is_email'false$email'sub_hyphen_limits' );
        }

        
// Test for invalid characters
        
if ( !preg_match('/^[a-z0-9-]+$/i'$sub ) ) {
            return 
apply_filters'is_email'false$email'sub_invalid_chars' );
        }
    }

    
// Congratulations your email made it!
    
return apply_filters'is_email'$email$emailnull );
}
?>

Examples [ wp-snippets.com ]

Google Arama Sonuçlarý

Dahasý ...

0 User Note(s)

Henüz yok. Ýlk sen ol!

Yeni Ekle ...



HTML5 Powered with CSS3 / Styling, Performance & Integration, and Semantics