Hi! I'm Gordon Mackay, a web developer from the Highlands of Scotland. On this site you will find my photos, free CSS templates, free Adobe Fireworks graphics and some PHP code to use in your projects. Enjoy!
This is easily the best function I’ve used for validating e-mail addresses in my PHP scripts and applications.
function is_valid_email($email)
{
$qtext = '[^\x0d\x22\x5c\x80-\xff]';
$dtext = '[^\x0d\x5b-\x5d\x80-\xff]';
$atom = '[^\x00-\x20\x22\x28\x29\x2c\x2e\x3a-\x3c\x3e\x40\x5b-\x5d\x7f-\xff]+';
$quoted_pair = '\x5c[\x00-\x7f]';
$domain_literal = "\x5b($dtext|$quoted_pair)*\x5d";
$quoted_string = "\x22($qtext|$quoted_pair)*\x22";
$domain_ref = $atom;
$sub_domain = "($domain_ref|$domain_literal)";
$word = "($atom|$quoted_string)";
$domain = "$sub_domain(\x2e$sub_domain)*";
$local_part = "$word(\x2e$word)*";
$addr_spec = "$local_part\x40$domain";
return preg_match("!^$addr_spec$!", $email) ? true : false;
}
Use it as follows:
if((isset($_POST['email']) && !empty($_POST['email']))
{
if(is_valid_email($_POST['email']))
{
$email = $_POST['email'];
} else {
$errors['email'] = 'Please provide a valid e-mail address.';
}
} else {
$errors['email'] = 'Please provide your e-mail address.';
}
Comment via Twitter
© All text and images copyright 2013 Gordon Mackay. All Rights Reserved.