...

View Full Version : Email Validator Gone Haywire



Bobafart
01-23-2008, 11:10 AM
I am trying to make an email validator for my registration page:



// First, we check that there's one @ symbol, and that the lengths are right
if (!ereg("[^@]{1,64}@[^@]{1,255}", $email)) {
// Email invalid because wrong number of characters in one section, or wrong number of @ symbols.
$checkregisteremail='false';
}
// Split it into sections to make life easier
$email_array = explode("@", $registeremail);
$local_array = explode(".", $email_array[0]);
for ($i = 0; $i < sizeof($local_array); $i++) {
if (!ereg("^(([A-Za-z0-9!#$%&'*+/=?^_`{|}~-][A-Za-z0-9!#$%&'*+/=?^_`{|}~\.-]{0,63})|(\"[^(\\|\")]{0,62}\"))$", $local_array[$i])) {
$checkregisteremail='false';
}
}


if I use a reasonable email which should pass, like
tony2004asdfad@myemail.com
it fails... not sure why.. it should validate...

GO ILLINI
01-23-2008, 12:36 PM
first I would add a separate error message for each section to see which is failing.

-Adam

runnerjp
01-23-2008, 05:26 PM
why not try somethign likieeee



//Validate the Email Address
$stremail=$_POST["txtemail"];
$result=ereg("^[^@ ]+@[^@ ]+\.[^@ ]+$",$stremail,$trashed);
if(!$result){
echo "Enter a valid E-mail Address";
DisplayForm();
}
else{
echo "Invalid E-mail Address";
$stremail="";
DisplayForm();
}
}



EZ Archive Ads Plugin for vBulletin Copyright 2006 Computer Help Forum