Rumah > pembangunan bahagian belakang > tutorial php > Bagaimanakah Saya Boleh Mengesahkan Alamat E-mel dengan Amanah dalam PHP Moden?

Bagaimanakah Saya Boleh Mengesahkan Alamat E-mel dengan Amanah dalam PHP Moden?

DDD
Lepaskan: 2024-12-11 17:23:11
asal
600 orang telah melayarinya

How Can I Reliably Validate Email Addresses in Modern PHP?

Pengesahan E-mel dalam PHP: Pendekatan Moden

Apabila bekerja dengan PHP, pengesahan input pengguna adalah penting untuk memastikan integriti data. Satu tugas pengesahan biasa ialah mengesahkan alamat e-mel. Berikut ialah kaedah yang mudah dan boleh dipercayai untuk pengesahan e-mel menggunakan PHP:

Menggunakan filter_var() untuk Pengesahan E-mel

Fungsi filter_var() menyediakan cara yang mudah untuk mengesahkan alamat e-mel :

$isValid = filter_var($email, FILTER_VALIDATE_EMAIL);
Salin selepas log masuk

Fungsi ini mengembalikan benar jika rentetan input ialah alamat e-mel yang sah atau palsu sebaliknya.

Menanggalkan ereg() dan Menggantikan dengan preg_match()

Dalam versi PHP yang lebih lama, ereg() telah digunakan untuk padanan ungkapan biasa. Walau bagaimanapun, dalam PHP 5.3 dan kemudian, ia ditamatkan dan digantikan dengan preg_match():

if (preg_match("/^[_a-z0-9-]+(\.[_a-z0-9-]+)*@[a-z0-9-]+(\.[a-z0-9-]+)*(\.[a-z]{2,3})$/", $email)) {
    return true;
}
Salin selepas log masuk

Ungkapan biasa ini menyemak:

  • Aksara (a-z, 0-9, _ , -)
  • Tempoh (.) berpisah aksara
  • Tanda "@"
  • Nama domain (aksara seperti huruf diikuti dengan titik pilihan dan TLD dengan 2-3 huruf)

Pertimbangan Tambahan

  • Kes Kepekaan: Ambil perhatian bahawa alamat e-mel tidak peka huruf besar dan kecil.
  • Pengesahan TLD: Secara lalai, filter_var() PHP tidak mengesahkan kewujudan Domain Tahap Atas (TLD) dalam nama domain. Anda boleh menambah semakan regex untuk ini jika perlu.
  • Pengekodan: Jika anda menjangkakan aksara bukan ASCII dalam e-mel, pertimbangkan untuk menggunakan sambungan IDNA atau pustaka Unicode-aware yang lain.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengesahkan Alamat E-mel dengan Amanah dalam PHP Moden?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan