Aison
@Aison

Проверка e-mail адреса через js, как дозволить регистрацию через определённые ящики?

Есть код, который проверяет поле e-mail адреса на правильность, если оно не соответствует правилу, то к регистрации не допускает.

$(document).ready(function () {
	var b = /^[.a-z0-9_-]+@[a-z0-9-]+\.([a-z]{2,6}\.)?[a-z]{2,6}$/i;

....


как добавить правило, чтобы пользователи могли регистрироваться только через домены известных ящиков пример mai.ru, gmail.com, yandex.ru
а остальные запретить?
  • Вопрос задан
  • 256 просмотров
Решения вопроса 2
Vlad_IT
@Vlad_IT Куратор тега JavaScript
Front-end разработчик
Ну, допустим. После валидации
var sps = mail.split('@');
var domain = sps[sps.length - 1];
var domains = ['main.ru', 'yandex.ru', 'gmail.com'];

if (domains.includes(domain)) {
   // все ок
}

Но это некорректно. Вам придется составлять очень длинный список "популярных" почтовых доменов. У самого майла их штук 5 вроде. У меня вот почта на своем домене, и что мне теперь, закрывать вкладку с вашим сайтом?
Ответ написан
Комментировать
@dimoff66
Кратко о себе: Я есть
var mail = 'love@mail.ru';
var boxes = ['mail.ru', 'gmail.com'];
var expr = new RegExp('^[.a-z0-9_-]+@(' + boxes.join('|').replace(/\./g, '\\.') + ')$', 'i');
var isValid = expr.test(mail);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
alekstar79
@alekstar79
/^[.a-z0-9_-]+@(mail|gmail|yandex)\.([a-z]{2,6}\.)?[a-z]{2,6}$/i
Ответ написан
Комментировать
sergski
@sergski
web-developer
/(\w+@(gmail|mail|yandex)+?\.[a-zA-Z]{2,6})/
но нехорошо так делать
Ответ написан
Комментировать
3vi1_0n3
@3vi1_0n3
Сделайте тупо выпадающий список с доменами.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы