// 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.