note 95324 added to function.filter-var
| From: | RPaseur at NationalPres dot org | Date: | Sun, 27 Dec 2009 14:57:56 +0000 |
| Subject: | note 95324 added to function.filter-var | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-164351@lists.php.net to get a copy of this message | ||
<?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>
----
Server IP: 64.71.164.2
Probable Submitter: 74.9.128.130
----
Manual Page -- http://www.php.net/manual/en/function.filter-var.php
Edit -- https://master.php.net/note/edit/95324
Del: integrated -- https://master.php.net/note/delete/95324/integrated
Del: useless -- https://master.php.net/note/delete/95324/useless
Del: bad code -- https://master.php.net/note/delete/95324/bad+code
Del: spam -- https://master.php.net/note/delete/95324/spam
Del: non-english -- https://master.php.net/note/delete/95324/non-english
Del: in docs -- https://master.php.net/note/delete/95324/in+docs
Del: other reasons-- https://master.php.net/note/delete/95324
Reject -- https://master.php.net/note/reject/95324
Search -- https://master.php.net/manage/user-notes.php