API16:JMailHelper/isEmailAddress
From Joomla! Documentation
This Namespace has been archived - Please Do Not Edit or Create Pages in this namespace. Pages contain information for a Joomla! version which is no longer supported. It exists only as a historical reference, will not be improved and its content may be incomplete.
Contents |
Description
Verifies that the string is in a proper e-mail address format.
Description:JMailHelper/isEmailAddress
Syntax
static isEmailAddress($email)
| Parameter Name | Default Value | Description |
|---|---|---|
| $email String to be verified. |
Returns
boolean True if string has the correct format; false otherwise.
Defined in
libraries/joomla/mail/helper.php
Importing
jimport( 'joomla.mail.helper' );
Source Body
public static function isEmailAddress($email) { // Split the email into a local and domain $atIndex = strrpos($email, "@"); $domain = substr($email, $atIndex+1); $local = substr($email, 0, $atIndex); // Check Length of domain $domainLen = strlen($domain); if ($domainLen < 1 || $domainLen > 255) { return false; } // Check the local address // We're a bit more conservative about what constitutes a "legal" address, that is, A-Za-z0-9!#$%&\'*+/=?^_`{|}~- $allowed = 'A-Za-z0-9!#&*+=?_-'; $regex = "/^[$allowed][\.$allowed]{0,63}$/"; if (!preg_match($regex, $local)) { return false; } // No problem if the domain looks like an IP address, ish $regex = '/^[0-9\.]+$/'; if (preg_match($regex, $domain)) { return true; } // Check Lengths $localLen = strlen($local); if ($localLen < 1 || $localLen > 64) { return false; } // Check the domain $domain_array = explode(".", rtrim($domain, '.')); $regex = '/^[A-Za-z0-9-]{0,63}$/'; foreach ($domain_array as $domain) { // Must be something if (!$domain) { return false; } // Check for invalid characters if (!preg_match($regex, $domain)) { return false; } // Check for a dash at the beginning of the domain if (strpos($domain, '-') === 0) { return false; } // Check for a dash at the end of the domain $length = strlen($domain) -1; if (strpos($domain, '-', $length) === $length) { return false; } } return true; }
[Edit See Also] SeeAlso:JMailHelper/isEmailAddress
Examples
<CodeExamplesForm />
