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
Lepaskan: 2024-10-31 06:37:01
asal
1011 orang telah melayarinya

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
Salin selepas log masuk

Walaupun yang berikut tidak sah:

domaia@name
ab$%cd
Salin selepas log masuk

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]$/
Salin selepas log masuk

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>
Salin selepas log masuk

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!

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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan