Проверьте, есть ли у электронной почты определенный домен или нет - PullRequest
2 голосов
/ 17 апреля 2019

Я пытаюсь добавить проверку, чтобы увидеть, является ли электронная почта (строка) частью определенного домена в скриптах Google. Например, доменом будет «@ company.com», поэтому все письма с этим будут проходить проверку, а письма без него не будут

По сути, у меня есть способ получить почту текущего пользователя, используя:

var email = Session.getEffectiveUser().getEmail();

Теперь я хочу проверить этот адрес электронной почты для определенного домена / компании Пример: abc@companyname.com

так что в этом случае это будет часть "@ companyname.com"

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

Ответы [ 2 ]

1 голос
/ 18 апреля 2019

Вот функция, которая использует регулярное выражение для сопоставления действительных сообщений электронной почты и регистрирует результат.Обратите внимание, что я использую флаг i для поиска без учета регистра:

function emailCheck(email) {
  var regExp = new RegExp("[a-z0-9\.-_]*@companyname\.com$", "i");
  match = email.match(regExp);
  if(match)
    match = true;
  else
    match = false
  Logger.log(email + ' - ' + match);
  return match
}

Следующие входные данные:

tests = ['ABC.345@companyNAME.com','no_no@goggle.com','ABC.345@companyNAME.com.edu']
for each (test in tests) {
    emailCheck(test);
}

Вывод:

ABC.345@companyNAME.com - true
no_no@goggle.com - false
ABC.345@companyNAME.com.edu - false
0 голосов
/ 17 апреля 2019

Вы можете проверить электронную почту с помощью этого простого регулярного выражения:

/@company\.com$/

И с JavaScript вы можете использовать этот тест true / false:

/@company\.com$/.test(email)

Вот рабочий пример:

const emailTest = email => /@company\.com$/.test(email);

['abc@company.com', 'abc@gmail.com', 'abc.123@gmail.company.com', 'defg@company.com', 'abc.123@company.gmail.com']
  .forEach(email => console.log(email.padEnd(30), emailTest(email)))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...