Я хочу проверить текст в поле формы. Текст должен быть действительным адресом электронной почты и не должен содержать определенный домен между "@" и "." знак. Как я могу сделать это с помощью регулярных выражений? Например, я хочу письмо, которое не должно содержать «тестовый» домен
mail@mail => Invalid
mail@test.com => Invalid (Because contain 'test' domain)
mail@mail.com => Valid
HTML
<form>
<input type="text" id="email">
<button type="submit" id="sendMail">Send</button>
</form>
Я могу обработать действительное письмо по следующей схеме:
JS
const btn = document.getElementById('sendMail');
btn.addEventListener('click', (e) => {
e.preventDefault();
const emailPtrn = /^(([^<>()\[\]\\.,;:\s@"]+(\.[^<>()\[\]\\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/;
const email = document.getElementById('email');
alert(emailPtrn.test(email.value));
});
JSfiddle Link
Как я могу проверить это с одним шаблоном?