先に言っておくと正規表現とかで完全にメールアドレスを判定することは出来ないっぽいです。
メールアドレス自体も色々な書き方ができるためで"とかでくくったりとかmailbox形式とかまでいくと100%の精度で判別するのは無理。
とは言っても判別はしないといけないのでいくつか見てみた。
よくネットで見かける
^([a-zA-Z0-9])+([a-zA-Z0-9.-])*@([a-zA-Z0-9-])+([a-zA-Z0-9.-]+)+$
※ダメな例
^([a-z0-9+-]+)(.[a-z0-9+_-]+)*@([a-z0-9-]+.)+[a-z]{2,6}$
^[-+.\w]+@[-a-z0-9]+(\.[-a-z0-9]+)*\.[a-z]{2,6}$
関連記事