Проверка электронной почты — важнейший аспект веб-разработки при обработке вводимых пользователем данных. Регулярные выражения (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. Используя возможности регулярных выражений, вы можете реализовать в своих приложениях надежную логику проверки электронной почты. Не забудьте выбрать подходящий метод в зависимости от ваших конкретных требований и варианта использования.
Применяя эти методы проверки электронной почты, вы можете улучшить взаимодействие с пользователем, гарантируя точность предоставленных адресов электронной почты.