Проверка электронной почты с validator.js не работает должным образом - PullRequest
0 голосов
/ 08 октября 2018

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

example@gmail.commmmmmm

Я бы хотел отсортировать адреса такого типа как недействительный.Я уже пытался использовать domain_specific_validation: true, но это не сработало.

Есть ли решение этой проблемы?

PS Я не хочу использовать регулярное выражение.

1 Ответ

0 голосов
/ 08 октября 2018

Согласно базе кода validator.js, проверяет, соответствует ли домен верхнего уровня (tld) определенному регулярному выражению .И поскольку список tld всегда может быть расширен за счет новых зарегистрированных элементов , это кажется правильным решением.Таким образом, commmmmmm - это то, что может быть tld, и поэтому проверка возвращает true.

Другое решение может заключаться в проверке, находится ли tld в зарегистрированный список tld , вы можете использовать пакет tld-list npm для этого:

const tldList = require('tld-list');
tldList.includes('example@gmail.commmmmmm'.split('.').pop());

Но для этого решения необходимо постоянно обновлять этот пакет, чтобы иметь возможность отслеживать и новые tld.

Существует также пакет validate-tld , который запрашивает у службы регистрации проверить, действительно ли tld:

var validateTld = require("validate-tld")
new validateTld().validate('commmm').then( console.log )

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...