Moin!
function check_email($email) {
// RegEx begin
$nonascii = "\x80-\xff"; # Non-ASCII-Chars are not allowed$nqtext = "[^\\$nonascii\015\012"]";
$qchar = "\\[^$nonascii]";$protocol = '(?:mailto:)';
$normuser = '[a-zA-Z0-9][a-zA-Z0-9_.-]*';
$quotedstring = ""(?:$nqtext|$qchar)+"";
$user_part = "(?:$normuser|$quotedstring)";$dom_mainpart = '[a-zA-Z0-9][a-zA-Z0-9._-]*\.';
$dom_subpart = '(?:[a-zA-Z0-9][a-zA-Z0-9._-]*\.)*';
$dom_tldpart = '[a-zA-Z]{2,5}';
$domain_part = "$dom_subpart$dom_mainpart$dom_tldpart";$regex = "$protocol?$user_part@$domain_part";
// RegEx endreturn preg_match("/^$regex$/",$email);
}
Unbrauchbar. Top-Level-Domains haben mittlerweile mehr als zwei bis fünf Zeichen. Außerdem sind Unterstriche "_" in Domainnamen nicht erlaubt.
- Sven Rautenberg