Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Ungkapan biasa PHP untuk mengesahkan kesahihan nama domain e-mel

Ungkapan biasa PHP untuk mengesahkan kesahihan nama domain e-mel

WBOY
WBOYasal
2023-06-24 09:09:161306semak imbas

Dengan perkembangan dan pempopularan Internet, e-mel telah menjadi bahagian yang sangat diperlukan dalam kerja dan kehidupan harian orang ramai. Walau bagaimanapun, untuk memastikan kesahihan dan keselamatan nama domain e-mel, kami perlu melakukan pengesahan tertentu padanya. Artikel ini akan menggunakan ungkapan biasa PHP sebagai asas untuk memperkenalkan cara mengesahkan kesahihan nama domain e-mel.

  1. Komposisi nama domain e-mel

Sebelum mengesahkan kesahihan nama domain e-mel, kita perlu mengetahui komposisi nama domain e-mel. Secara umumnya, e-mel terdiri daripada dua bahagian: nama e-mel dan nama domain Nama e-mel dipisahkan oleh simbol "@", dan nama domain terdiri daripada bahagian selepas simbol "@". Contohnya: dalam example@mail.com, alamat e-mel adalah contoh dan nama domain ialah mail.com.

  1. Cara untuk mengesahkan kesahihan nama domain e-mel

Dalam PHP, kami boleh menggunakan ungkapan biasa untuk mengesahkan nama domain e-mel. Berikut ialah contoh ungkapan biasa asas untuk mengesahkan nama domain e-mel:

if(preg_match('/^(([a-zA-Z0-9_-])+.)*[a-zA-Z0-9_-]+.([a-zA-Z]{2,6})$/', $email_domain)) {
    // 邮箱域名格式正确
} else {
    // 邮箱域名格式错误
}

Dalam ungkapan biasa di atas, bahagian yang disertakan oleh kelayakan "^" dan "$" menunjukkan bahawa semua keperluan ungkapan biasa mesti dipenuhi , jika tidak pengesahan gagal. Secara khusus, penghuraian ungkapan biasa ini adalah seperti berikut:

  • “^” mewakili permulaan ungkapan biasa
  • “(([a-zA-Z0-9_-; ]) +.)" menunjukkan bahagian hadapan nama domain (boleh terdiri daripada berbilang huruf, nombor, garis bawah atau garis bawah, setiap bahagian dipisahkan dengan "."), dengan "" menunjukkan bahawa bahagian depan boleh muncul 0 atau lebih kali;
  • "[a-zA-Z0-9_-]+" mewakili bahagian terakhir nama domain (terdiri daripada huruf, nombor, garis bawah atau garis bawah); >
  • " .([a-zA-Z]{2,6})" mewakili akhiran nama domain (seperti .com, .cn, dll.), dengan "." simbol, dan "[a-zA-Z] {2,6}" bermaksud akhiran nama domain mesti terdiri daripada 2-6 huruf (huruf besar dan kecil); analisis di atas, kami dapati bahawa ungkapan biasa ini boleh mengesahkan bahawa ia memenuhi keperluan berikut Nama domain:
Nama domain terdiri daripada berbilang huruf, nombor, garis bawah atau garis bawah dan pemisah tengah ialah " .";

Bahagian terakhir nama domain terdiri daripada 2-6 huruf yang terdiri daripada akhiran nama domain yang sah.
  • Pelaksanaan pengesahan kesahihan e-mel
    Berdasarkan ungkapan biasa di atas, kami boleh menulis fungsi PHP untuk mengesahkan kesahihan nama domain e-mel. Kod pelaksanaan khusus adalah seperti berikut:
  1. function validate_email_domain($email) {
        $email_parts = explode('@', $email);
        $email_domain = $email_parts[1];
        if(preg_match('/^(([a-zA-Z0-9_-])+.)*[a-zA-Z0-9_-]+.([a-zA-Z]{2,6})$/', $email_domain)) {
            return true;
        } else {
            return false;
        }
    }
  2. Pelaksanaan fungsi ini termasuk dua langkah berikut:

Pertama, gunakan fungsi "explode()" untuk memisahkan nama e-mel dan bahagian nama domain;

Kemudian, panggil ungkapan biasa di atas untuk mengesahkan nama domain e-mel Jika pengesahan berjaya, ia akan kembali benar, jika tidak ia akan kembali palsu.
  • Ringkasan
    Melalui pengenalan artikel ini, kami telah mempelajari cara mengesahkan kesahihan nama domain e-mel berdasarkan ungkapan biasa PHP. Dengan menulis fungsi di atas, kami boleh dengan mudah melaksanakan semakan kesahihan nama domain e-mel dalam projek PHP, mengelakkan pendaftaran, log masuk dan masalah lain yang disebabkan oleh nama domain haram. Pada masa yang sama, pembaca juga boleh menggunakan kaedah dalam artikel ini untuk projek dalam bahasa lain untuk mengesahkan kesahihan nama domain e-mel.

Atas ialah kandungan terperinci Ungkapan biasa PHP untuk mengesahkan kesahihan nama domain e-mel. 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