Решение на JavaScript: проверка адресов электронной почты с помощью регулярных выражений

Вот пример решения JavaScript для 28-го дня конкурса «Регулярные выражения, шаблоны и введение в базы данных» на HackerRank:

function findValidEmails(emails) {
  const validEmails = [];
  const regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
  for (let i = 0; i < emails.length; i++) {
    if (regex.test(emails[i])) {
      validEmails.push(emails[i]);
    }
  }
  return validEmails;
}
const emails = [
  "test.email+regex@example.com",
  "test.email@example.com",
  "test.email@example",
  "test.email@example.co.jp",
];
const validEmails = findValidEmails(emails);
console.log(validEmails);

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

Шаблон регулярного выражения, использованный в этом примере, /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA- Z]{2,}$/проверяет следующие условия:

  • Локальная часть адреса электронной почты может содержать буквенно-цифровые символы, точки, символы подчеркивания, знаки процента, а также символы плюс и минус.
  • Доменная часть адреса электронной почты может содержать буквенно-цифровые символы, точки и дефисы.
  • Домен верхнего уровня (TLD) должен состоять как минимум из двух букв.

Функция перебирает каждое письмо во входном массиве и проверяет его на соответствие шаблону регулярного выражения с помощью метода test. Если электронное письмо соответствует шаблону, оно считается действительным и добавляется в массив validEmails.

Наконец, скрипт вызывает функцию findValidEmailsс образцом массива адресов электронной почты и записывает действительные адреса электронной почты в консоль.