Поиск правильного способа проверки введенного домена
- Проверьте наличие элементов в массиве, чтобы увидеть действительное имя домена
- Исправьте опечатки и предложите правильную опечатку, найденную длянапример, если кто-то печатает june@gamil.com, вывод должен быть Вы имеете в виду june@gmail.com
function checkForDomainTypo(userEmail) {
// validate following domain also allow private domain i.e. email@abc.com , email@def.com are valid too
const domains = ['gmail.com', 'hotmail', 'outlook', 'yahoo', 'icloud', 'mail', 'zoho'];
// note gmail can only have .com as thats the only one available whereas yahoo can have yahoo.com as well as yahoo.co.uk
const [leftPart, rightPart] = userEmail.split('@');
// Looking to find typos like gamil.com, gmaill.com, gmal.com, yaho.com, and suggest correct email address
var reg = /^([\w-\.]+@(?!gmail.com)(?!yahoo.com)(?!hotmail.com)([\w-]+\.)+[\w-]{2,4})?$/
if (reg.test(email)){
}
}
Действительный адрес электронной почты
- first.last@example.com
- yourname.aaa@gmail.com
- yourname@yahoo.co.in
Неверный пример электронной почты
- yourname@gamil.com (опечатка)
- yourname@gmail.co (неверный домен верхнего уровня)
- yourname@yaho.com (неверный адрес Yahoo)
Вариант использования этой проблемы довольно прост для обнаружения неверных известных доменных имен. Я пытался найти доступное решение, но не нашел.