note 95324 deleted from function.filter-var by danbrown
| From: | danbrown@php.net | Date: | Sun, 27 Dec 2009 20:06:57 +0000 |
| Subject: | note 95324 deleted from function.filter-var by danbrown | ||
| References: | 1 | Groups: | php.notes |
| Request: | Send a blank email to php-notes+get-164358@lists.php.net to get a copy of this message | ||
Note Submitter: RPaseur at NationalPres dot org
----
<?php // RAY_email_validation.php
error_reporting(E_ALL);
// A FUNCTION TO TEST FOR A VALID EMAIL ADDRESS, RETURN TRUE OR FALSE
function check_valid_email($email)
{
// IF PHP 5.2 OR ABOVE, WE CAN USE THE FILTER
// MAN PAGE: http://us3.php.net/manual/en/intro.filter.php
if (strnatcmp(phpversion(),'5.2') >= 0)
{
if(filter_var($email, FILTER_VALIDATE_EMAIL) === FALSE) return FALSE;
}
else
{
$regex = '/^[A-Z0-9_-][A-Z0-9._-]*@([A-Z0-9][A-Z0-9-]*\.)+[A-Z\.]{2,6}$/i';
if (!preg_match($regex, $email)) return FALSE;
}
// FILTER or PREG DOES NOT TEST IF THE DOMAIN OF THE EMAIL ADDRESS IS ROUTABLE
$domain = explode('@', $email);
if ( checkdnsrr($domain[1],"MX") || checkdnsrr($domain[1],"A") ) return
TRUE;
// EMAIL NOT ROUTABLE
return FALSE;
}
// DEMONSTRATE THE FUNCTION IN ACTION
if (!empty($_GET["e"]))
{
$e = $_GET["e"];
if (check_valid_email($e))
{
echo "<br/>VALID: $e \n";
} else
{
echo "<br/>BOGUS: $e \n";
}
}
// END OF PHP - PUT UP THE FORM
?>
<form method="get">
TEST A STRING FOR A VALID EMAIL ADDRESS:
<input name="e" />
<input type="submit" />
</form>