Перевірка коректності email-адреси є важливим елементом багатьох веб-додатків. Одним із найпоширеніших способів перевірки є використання регулярних виразів. У цій статті ми розглянемо, як створити функцію для перевірки коректності email-адреси на JavaScript.
Функція для перевірки email
Перший крок — створити функцію, яка використовує регулярний вираз для перевірки email. Нижче наведений приклад такої функції:
function isValidEmail(email) {
// Регулярний вираз для перевірки email
const emailPattern = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
// Перевірка email за шаблоном
return emailPattern.test(email);
}
// Приклади використання
console.log(isValidEmail("example@example.com")); // true
console.log(isValidEmail("invalid-email")); // false
console.log(isValidEmail("another@example.co.uk")); // true
console.log(isValidEmail("example@.com")); // false
Ця функція використовує регулярний вираз для перевірки, що email містить непорожні символи перед і після символу @, а також після символу крапки.
Додавання перевірки недопустимих символів
Щоб додатково перевіряти наявність недопустимих символів у email, можна модифікувати регулярний вираз. Ось оновлений варіант функції:
function isValidEmail(email) {
// Регулярний вираз для перевірки email з виключенням недопустимих символів
const emailPattern = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
// Перевірка email за шаблоном
return emailPattern.test(email);
}
// Приклади використання
console.log(isValidEmail("example@example.com")); // true
console.log(isValidEmail("invalid-email")); // false
console.log(isValidEmail("another@example.co.uk")); // true
console.log(isValidEmail("example@.com")); // false
console.log(isValidEmail("ex!ample@example.com")); // false
console.log(isValidEmail("example@exa#mple.com")); // false
console.log(isValidEmail("example@exam*ple.com")); // false
У цьому регулярному виразі:
^[a-zA-Z0-9._%+-]+
означає, що локальна частина email (до @) може містити букви, цифри, крапки, підкреслення, відсотки, плюси та мінуси.@[a-zA-Z0-9.-]+
означає, що доменна частина email (після @) може містити букви, цифри, крапки та дефіси.\.[a-zA-Z]{2,}$
вимагає, щоб домен закінчувався крапкою, за якою йдуть принаймні дві букви (наприклад, .com, .net, .org тощо).