Bolehkah Nama Domain Disahkan dalam PHP Tanpa Ungkapan Biasa?

Mary-Kate Olsen
Lepaskan: 2024-11-01 19:29:30
asal
550 orang telah melayarinya

Can Domain Names Be Validated in PHP Without Regular Expressions?

Mengesahkan Nama Domain dalam PHP

Bolehkah Pengesahan Dilakukan Tanpa Ungkapan Biasa?

Mengesahkan nama domain tanpa ungkapan biasa tidak disyorkan kerana potensi keselamatan kelemahan dan keputusan yang tidak konsisten. Ungkapan biasa memberikan pendekatan yang mantap dan piawai untuk memastikan ketepatan.

Corak Regex untuk Pengesahan Nama Domain

Untuk mengesahkan nama domain menggunakan ungkapan biasa, pertimbangkan corak berikut:

^([a-z\d](-*[a-z\d])*)(\.([a-z\d](-*[a-z\d])*))*$/i
Salin selepas log masuk

Ungkapan ini mengandungi berbilang kriteria:

  • Sah Aksara: Memastikan nama domain mengandungi aksara abjad angka, sempang dan noktah sahaja.
  • Panjang Keseluruhan: Panjang nama domain tidak boleh melebihi 253 aksara.
  • Panjang Label Individu: Setiap label (bahagian yang dipisahkan oleh noktah) tidak boleh melebihi 63 aksara.

Fungsi Pengesahan Tersuai

Fungsi PHP yang dipertingkatkan untuk pengesahan nama domain:

<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)
            &amp;&amp; preg_match("/^.{1,253}$/", $domain_name)
            &amp;&amp; preg_match("/^[^\.]{1,63}(\.[^\.]{1,63})*$/", $domain_name));
}</code>
Salin selepas log masuk

Kes Ujian

Domain Name Validation Result
a Yes
0 Yes
a.b Yes
localhost Yes
google.com Yes
news.google.co.uk Yes
xn--fsqu00a.xn--0zwm56d Yes
goo gle.com No
google..com No
google.com No
google-.com No
.google.com No
No
alert( No
. No
.. No
No
- No
No

Atas ialah kandungan terperinci Bolehkah Nama Domain Disahkan dalam PHP 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
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!