You need to use a regular expression that really works for an email address. Your current one is completely broken, as there are many valid addresses that it will not accept.
See http://www.regular-expressions.info/email.html for a more detailed description and arguments on why a regular expression is not so good.
, , , , :
[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?
, regular-expressions.info :
RFC 2822, . - 99,99% .