Jumping in...
On Tue, 11 Mar 2003 20:19:36 -0500 (PET), David E.S.V. wrote about "Re:
[PHP] Checking for a Valid Email String." what the universal translator
turned into this:
>you mean something like this?
>
>//checking if the email is valid
>
>if
>(eregi("^[0-9a-z]([-_.]?[0-9a-z])[EMAIL PROTECTED]([-.]?[0-9a-z])*\\.[a-z]{2,3}$",
>$email, $check))
> {
> if ( !getmxrr(substr(strstr($check[0], '@'), 1), $validate_email_temp) )
> $mensaje="server not valid";
>
>
> // checking DNS
> if(!checkdnsrr(substr(strstr($check[0], '@'), 1),"ANY"))
> $mensaje="server not valid";
>
> }
Now I haven't really checked up on ereg ... but besides I don't check with
DNS, can anyone tell me if my version (below), actually checks for all
possible invalids (I know I'm missing high-bit char tests)...
function ValidEmail($email) {
// function for verification of e-mail address
// needs modification to test for high-bit chars
$invalidChars = array(" ","/",":",",",";");
if ($email == "") {
return false;
}
for ($n = 0; $n < count($invalidChars); $n++) {
if (strpos($email,$invalidChars[$n]) != false) {
return false;
}
}
$atPos = strpos($email,"@",1);
if ($atPos === false) {
return false;
}
if (strpos($email,"@",$atPos + 1) != false) {
return false;
}
$dotPos = strpos($email,".",$atPos);
if ($dotPos === false) {
return false;
}
if ($dotPos + 3 > strlen($email)) {
return false;
}
return true;
}
I created this a few months ago by converting a JS script, and haven't
really looked at it since. It works mostly like intended, but could
probably need some tweaking. It checks for all non-accepted chars, double
@s, and impossible dot-positions. It doesn't check for high-bit chars, and
doesn't actually verify the address. It's for subbing to my maillist, so
the mailserver actually does the verification itself.
Any comments ??? Or suggestions ???
Rene
--
Rene Brehmer
This message was written on 100% recycled spam.
Come see! My brand new site is now online!
http://www.metalbunny.net
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php