Полное руководство: проверка электронной почты с использованием регулярных выражений в TypeScript

Проверка электронной почты — важнейший аспект веб-разработки при обработке вводимых пользователем данных. Регулярные выражения (regex) предоставляют мощный инструмент для проверки адресов электронной почты в TypeScript. В этой статье мы рассмотрим различные методы проверки электронной почты с использованием регулярных выражений, а также приведем примеры кода, демонстрирующие их реализацию.

Метод 1: базовая проверка электронной почты
Регулярное выражение: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a-zA -Z]{2,}$/

Пример кода:

function validateEmail(email: string): boolean {
  const regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
  return regex.test(email);
}
const email = 'john@example.com';
console.log(validateEmail(email)); // Output: true

Метод 2: проверка адреса электронной почты без учета регистра
Регулярное выражение: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.[a -zA-Z]{2,}$/i

Пример кода:

function validateEmailCaseInsensitive(email: string): boolean {
  const regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/i;
  return regex.test(email);
}
const email = 'John@example.com';
console.log(validateEmailCaseInsensitive(email)); // Output: true

Метод 3: строгая проверка электронной почты с использованием белого списка TLD
Регулярное выражение: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+.com |.net|.org$/i

Пример кода:

function validateEmailStrict(email: string): boolean {
  const regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.com|\.net|\.org$/i;
  return regex.test(email);
}
const email = 'john@example.org';
console.log(validateEmailStrict(email)); // Output: true

Метод 4. Расширенная проверка электронной почты с использованием TLD для конкретного домена
Регулярное выражение: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+. (com|net|org|edu)$/i

Пример кода:

function validateEmailAdvanced(email: string): boolean {
  const regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.(com|net|org|edu)$/i;
  return regex.test(email);
}
const email = 'john@example.edu';
console.log(validateEmailAdvanced(email)); // Output: true

Метод 5: проверка электронной почты с использованием доменов верхнего уровня (TLD) из списка
Регулярное выражение: /^[a-zA-Z0-9._%+-]+@[a-zA-Z0- 9.-]+.(com|net|org|edu|io)$/i

Пример кода:

function validateEmailWithTLDList(email: string): boolean {
  const regex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.(com|net|org|edu|io)$/i;
  return regex.test(email);
}
const email = 'john@example.io';
console.log(validateEmailWithTLDList(email)); // Output: true

Проверка адресов электронной почты — важная задача веб-разработки, позволяющая обеспечить целостность и безопасность данных. В этой статье мы рассмотрели несколько подходов к проверке электронной почты с использованием регулярных выражений в TypeScript. Используя возможности регулярных выражений, вы можете реализовать в своих приложениях надежную логику проверки электронной почты. Не забудьте выбрать подходящий метод в зависимости от ваших конкретных требований и варианта использования.

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