У меня есть сценарий проверки подлинности электронной почты на стороне клиента Javascript + RegEx, он отлично работает, но я хочу исключить определенные домены во время проверки, а именно все домены Apple, поскольку они не работают (электронные письма отправленные на эти адреса, удаляются без предупреждения): @ apple.com, @ me.com, @ icloud.com, @ mac.com.Проверка электронной почты Javascript + RegEx, но для исключения определенных доменов
Здесь я нашел подходящие вопросы, но все же они не то же самое Я прошу о помощи. Пожалуйста, помогите это реализовать
Можно ли это сделать с помощью модификации RegEx, или мне нужно использовать подстроки цикла и поиска (@ apple.com, @ me.com, @ icloud.com, @ mac.com) после основная проверка электронной почты выполнена?
function verifyMe(){
var msg='';
var email=document.getElementById('email').value;
if(!(/^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/.test(email)) ||
document.getElementById('email').value=='')
{
msg+='- Invalid Email Address: '+email+'\n\n';
document.getElementById('Eemail').style.color='#ffffff';
}
else
document.getElementById('Eemail').style.color='#bbb'
if(msg!='')
return false;
else
{
search_code(); //it's ok go ahead
return true;
}
}
Не могли бы вы поделиться своими попытками и рассказать нам, почему они не сработали для вас? – PeeHaa
Я не уверен, какой подход использовать - RegEx mod или loop для поиска подстроки? так как я хочу исключить массив доменов, а не один домен. Я потерялся с RegEx –
Возможно, проанализируйте с помощью [правильный парсер адресов электронной почты] (https://www.npmjs.org/package/email-addresses) вместо того, чтобы пытаться использовать регулярные выражения. Правильное правое правило будет сложно. Например, 'FOO @ APPLE.COM' эквивалентно' FOO @ apple.com', поскольку имена хостов не чувствительны к регистру, а 'FOO @ apple.com.' также действителен, но просто говорит, что' apple.com' не должен разрешается с использованием списка поиска суффиксов. –