1. Выражение написано с явной ошибкой (нет ^$) — ему понравится и такой e-mail
name@name@example.com. И вот такой
name@example&com
2. Для стандартной проверки да/нет используется метод RegExp.prototype.test — он для этого и существует.
3. А кто сказал, что в адресе не может быть точек и подчёркиваний?? Например,
some.thing@test.yandex. А вот еще
vasya-pupkin@213.180.204.11.
— gmail: буквы, цифры, точка (30 символов)
— yandex: буквы, цифры, точка, дефис (30 символов)
— mail: буквы, цифры, точка, дефис, подчёркивание (31 символ)
Вы изобретаете велосипед, не зная правил конструирования и производства велосипедов. Поэтому у вас получилась ерунда.