Перевірка коректності email JavaScript

Перевірка коректності 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 тощо).