Same name and namespace in other branches
- 4.7.x includes/common.inc \valid_email_address()
- 5.x includes/common.inc \valid_email_address()
- 6.x includes/common.inc \valid_email_address()
- 7.x includes/common.inc \valid_email_address()
- 8.9.x core/includes/common.inc \valid_email_address()
Verify the syntax of the given e-mail address.
Empty e-mail addresses are allowed. See RFC 2822 for details.
Parameters
$mail: A string containing an email address.
Return value
TRUE if the address is in a valid format.
Related topics
File
- includes/
common.inc, line 565 - Common functions that many Drupal modules will need to reference.
Code
function valid_email_address($mail) {
$user = '[a-zA-Z0-9_\\-\\.\\+\\^!#\\$%&*+\\/\\=\\?\\`\\|\\{\\}~\']+';
$domain = '(?:(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\\-]*[a-zA-Z0-9])\\.?)+';
$ipv4 = '[0-9]{1,3}(\\.[0-9]{1,3}){3}';
$ipv6 = '[0-9a-fA-F]{1,4}(\\:[0-9a-fA-F]{1,4}){7}';
return preg_match("/^{$user}@({$domain}|(\\[({$ipv4}|{$ipv6})\\]))\$/", $mail);
}