Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Mengesahkan Nama Domain dalam PHP: Dengan atau Tanpa Ungkapan Biasa?

Bagaimana untuk Mengesahkan Nama Domain dalam PHP: Dengan atau Tanpa Ungkapan Biasa?

Barbara Streisand
Barbara Streisandasal
2024-10-31 06:37:011054semak imbas

How to Validate Domain Names in PHP: With or Without Regular Expressions?

Cara Mengesahkan Nama Domain dalam PHP

Apabila bekerja dengan domain, memastikan kesahihannya menjadi penting untuk mencegah aktiviti berniat jahat atau input yang salah. Dalam artikel ini, kami akan meneroka cara untuk mengesahkan nama domain dalam PHP, dengan dan tanpa menggunakan ungkapan biasa.

Pengesahan Tanpa Ungkapan Biasa

Walaupun tidak disyorkan kerana kemungkinan pengehadan, ia mungkin untuk melaksanakan pengesahan nama domain asas tanpa ungkapan biasa. Ini melibatkan semakan kriteria berikut:

  • Nama domain mesti bermula dengan aksara abjad angka.
  • Ia boleh mengandungi aksara atau sempang abjad angka tambahan.
  • Ia mesti berakhir dengan aksara abjad angka.

Sebagai contoh, rentetan berikut akan dianggap sebagai domain yang sah:

domain-name
abcd
example

Walaupun yang berikut tidak sah:

domaia@name
ab$%cd

Pengesahan Menggunakan Ungkapan Biasa

Ungkapan biasa menyediakan kaedah yang lebih mantap dan boleh dipercayai untuk mengesahkan nama domain. Corak ungkapan biasa berikut boleh digunakan untuk tujuan ini:

/^[a-zA-Z0-9][a-zA-Z0-9\-\_]+[a-zA-Z0-9]$/

Kod Contoh

Fungsi PHP berikut mengesahkan nama domain menggunakan corak ungkapan biasa yang disediakan:

<code class="php">function is_valid_domain_name($domain_name)
{
    return (
        preg_match("/^([a-z\d](-*[a-z\d])*)(\.([a-z\d](-*[a-z\d])*))*$/i", $domain_name) //valid chars check
        && preg_match("/^.{1,253}$/", $domain_name) //overall length check
        && preg_match("/^[^\.]{1,63}(\.[^\.]{1,63})*$/", $domain_name) //length of each label
    );
}</code>

Atas ialah kandungan terperinci Bagaimana untuk Mengesahkan Nama Domain dalam PHP: Dengan atau Tanpa Ungkapan Biasa?. 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