Rumah >hujung hadapan web >tutorial js >Bagaimanakah Saya Boleh Mengesahkan Alamat E-mel Menggunakan Ungkapan Biasa JavaScript?

Bagaimanakah Saya Boleh Mengesahkan Alamat E-mel Menggunakan Ungkapan Biasa JavaScript?

Linda Hamilton
Linda Hamiltonasal
2024-12-26 10:40:11746semak imbas

How Can I Validate Email Addresses Using JavaScript Regular Expressions?

Pengesahan E-mel dengan Ungkapan Biasa dalam JavaScript

Untuk mengelakkan input pengguna yang salah, JavaScript membenarkan pengesahan alamat e-mel sebelum cuba menghantarnya kepada pelayan atau cuba menghantar e-mel kepada mereka.

Pendekatan yang paling boleh dipercayai untuk mengesahkan alamat e-mel dalam JavaScript ialah untuk menggunakan ungkapan biasa. Ungkapan biasa berikut menerima aksara ASCII:

const validateEmail = (email) => {
  return String(email)
    .toLowerCase()
    .match(
      /^(([^<>()[\]\.,;:\s@"]+(\.[^<>()[\]\.,;:\s@"]+)*)|(".+"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
    );
};

Untuk sokongan unikod, regex yang lebih komprehensif boleh digunakan:

const re =
  /^(([^<>()[\]\.,;:\s@"]+(\.[^<>()[\]\.,;:\s@"]+)*)|(".+"))@(([^<>()[\]\.,;:\s@"]+\.)+[^<>()[\]\.,;:\s@"]{2,})$/i;

Walau bagaimanapun, adalah penting untuk diingat bahawa pengesahan JavaScript tidak sepatutnya bergantung sahaja. Pengesahan pihak pelanggan mudah dipintas. Pengesahan bahagian pelayan juga diperlukan.

Berikut ialah contoh pengesahan e-mel JavaScript pada bahagian klien:

const validateEmail = (email) => {
  return email.match(
    /^(([^<>()[\]\.,;:\s@\"]+(\.[^<>()[\]\.,;:\s@\"]+)*)|(\".+\"))@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\])|(([a-zA-Z\-0-9]+\.)+[a-zA-Z]{2,}))$/
  );
};

const validate = () => {
  const $result = $('#result');
  const email = $('#email').val();
  $result.text('');

  if(validateEmail(email)){
    $result.text(email + ' is valid.');
    $result.css('color', 'green');
  } else{
    $result.text(email + ' is invalid.');
    $result.css('color', 'red');
  }
  return false;
}

$('#email').on('input', validate);

Dalam contoh ini, butang digunakan untuk mencetuskan pengesahan dan memaparkan hasil.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesahkan Alamat E-mel Menggunakan Ungkapan Biasa JavaScript?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn