Bagaimana untuk Mengesahkan Nama Domain dalam PHP Tanpa Ungkapan Biasa?

Mary-Kate Olsen
Lepaskan: 2024-10-30 19:12:02
asal
937 orang telah melayarinya

How to Validate Domain Names in PHP Without Regular Expressions?

Pengesahan Nama Domain PHP Tanpa Ungkapan Biasa

Ramai pembangun menghadapi keperluan untuk mengesahkan nama domain, memastikan mereka mematuhi peraturan pemformatan tertentu. Walaupun ungkapan biasa biasanya digunakan untuk tugasan ini, ungkapan itu boleh menjadi rumit dan berpotensi terdedah kepada ralat. Artikel ini meneroka penyelesaian untuk mengesahkan nama domain dalam PHP tanpa bergantung pada ungkapan biasa.

Dalam situasi tertentu, seperti semasa bekerja dengan sistem warisan atau apabila berurusan dengan pengehadan aksara yang ketat, nama domain mungkin perlu disahkan. tanpa menggunakan ungkapan biasa. Fungsi berikut mencapainya dengan melaksanakan satu siri semakan logik:

<code class="php">function is_valid_domain_name($domain_name)
{
    // Validate alphanumeric characters
    if (!preg_match("/^[a-zA-Z0-9]+$/", $domain_name)) {
        return false;
    }

    // Validate length of each label
    $labels = explode(".", $domain_name);
    foreach ($labels as $label) {
        if (strlen($label) < 1 || strlen($label) > 63) {
            return false;
        }
    }

    // Validate overall length
    if (strlen($domain_name) > 253) {
        return false;
    }

    return true;
}</code>
Salin selepas log masuk

Fungsi ini memastikan bahawa nama domain bermula dan berakhir dengan aksara alfanumerik dan setiap label dalam nama domain mematuhi sekatan panjang yang ditentukan. Ia juga mengesahkan panjang keseluruhan nama domain.

Kes Ujian

Kes ujian berikut menunjukkan keberkesanan fungsi pengesahan ini:

<code class="php">is_valid_domain_name? [a]                       Y
is_valid_domain_name? [0]                       Y
is_valid_domain_name? [a.b]                     Y
is_valid_domain_name? [localhost]               Y
is_valid_domain_name? [google.com]              Y
is_valid_domain_name? [news.google.co.uk]       Y
is_valid_domain_name? [xn--fsqu00a.xn--0zwm56d] Y
is_valid_domain_name? [goo gle.com]             N
is_valid_domain_name? [google..com]             N
is_valid_domain_name? [google.com ]             N
is_valid_domain_name? [google-.com]             N
is_valid_domain_name? [.google.com]             N
is_valid_domain_name? [<script]                 N
is_valid_domain_name? [alert(]                  N
is_valid_domain_name? [.]                       N
is_valid_domain_name? [..]                      N
is_valid_domain_name? [ ]                       N
is_valid_domain_name? [-]                       N
is_valid_domain_name? []                        N</code>
Salin selepas log masuk

Dengan mengikuti semakan logik ini, fungsi ini menyediakan cara yang boleh dipercayai untuk mengesahkan nama domain tanpa memerlukan ungkapan biasa. Pendekatan ini meningkatkan fleksibiliti dan mengurangkan potensi ralat semasa mengesahkan nama domain dalam PHP.

Atas ialah kandungan terperinci Bagaimana untuk Mengesahkan Nama Domain 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!