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
511 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!

sumber:php.cn
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