Как написать регулярное выражение для соответствия бесплатной учетной записи электронной почты?

Я пытаюсь написать регулярное выражение, которое проверяет, содержит ли поле формы электронной почты бесплатный адрес электронной почты, без везения.

По сути, мне нужно проверить, содержит ли электронная почта: hotmail , yahoo , gmail т. Д. В поле электронной почты.

regex будет выглядеть следующим образом:

 [a-zA-Z0-9_\.+]+@(gmail|yahoo|hotmail)(\.[az]{2,3}){1,2} 

вы можете добавить все остальные домены, которые вы хотите … это вам поможет?

 /\@(hotmail|yahoo|gmail)\.com/ 

Вы пробовали большую дизъюнкцию?

т.е.

yahoo\.com|googlemail\.com|blah\.net

Плюсы: Простая в построении, легко читаемая, явная.

Минусы: Возможно, это не самый эффективный механизм.