if(preg_match("^([ _a-zA-Z0-9-]+)(.[a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+.)+([a-zA-Z]{2,4})$",$email))
Du musst die "-" in den Character-Sets escapen: "-"
Wie wärs mit dieser hier (oder einer ähnlichen):
([\w-.]+)@(([\w-]{2,}.)+[\w]{2,4})
if(preg_match("^([ _a-zA-Z0-9-]+)(.[a-zA-Z0-9-]+)*@([a-zA-Z0-9-]+.)+([a-zA-Z]{2,4})$",$email))
Du musst die "-" in den Character-Sets escapen: "-"
Wie wärs mit dieser hier (oder einer ähnlichen):
([\w-.]+)@(([\w-]{2,}.)+[\w]{2,4})