То, что вы ищете, является негативным взглядом.
(я собираюсь упростить первую часть регулярного выражения, чтобы его было легко понять)
^([^@]*@(?!gmail.com|aol.com|mailinator.com|...)[^@]*?$)
Однако, поскольку вам придется программно создавать эту строку, а это будет огромным регулярным выражением, вы можете рассмотреть другие варианты, такие как анализ @...
бита вашего ввода и выполнение простого: arrayOfDomains.indexOf(thisDomain) > -1
для обнаружения если он включен в список