Mad_piggy
Legacy Member
Beste
Op het net heb ik volgend script gevonden om de correctheid van een emailadres na te gaan. Nu is het probleem dat ereg deprecated is.
Ik ken niets van reguliere expressies dus ...
Na wat google-werk kwam ik uit dat preg_match de oudere ereg vervangt.
Maar wanneer ik ereg in het scrip vervang door preg_match (met of zonder te wrappen rond / /) krijg is errors.
Weet er iemand wat ik moet veranderen?
Op het net heb ik volgend script gevonden om de correctheid van een emailadres na te gaan. Nu is het probleem dat ereg deprecated is.
Ik ken niets van reguliere expressies dus ...
Na wat google-werk kwam ik uit dat preg_match de oudere ereg vervangt.
Maar wanneer ik ereg in het scrip vervang door preg_match (met of zonder te wrappen rond / /) krijg is errors.
Weet er iemand wat ik moet veranderen?
Code:
function check_email_address($email) {
// 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.
return false;
}
// Split it into sections to make life easier
$email_array = explode("@", $email);
$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])) {
return false;
}
}
// Check if domain is IP. If not,
// it should be valid domain name
if (!ereg("^\[?[0-9\.]+\]?$", $email_array[1])) {
$domain_array = explode(".", $email_array[1]);
if (sizeof($domain_array) < 2) {
return false; // Not enough parts to domain
}
for ($i = 0; $i < sizeof($domain_array); $i++) {
if
(!ereg("^(([A-Za-z0-9][A-Za-z0-9-]{0,61}[A-Za-z0-9])|
↪([A-Za-z0-9]+))$",
$domain_array[$i])) {
return false;
}
}
}
return true;
}