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.
Walaupun tidak disyorkan kerana kemungkinan pengehadan, ia mungkin untuk melaksanakan pengesahan nama domain asas tanpa ungkapan biasa. Ini melibatkan semakan kriteria berikut:
Sebagai contoh, rentetan berikut akan dianggap sebagai domain yang sah:
domain-name abcd example
Walaupun yang berikut tidak sah:
domaia@name ab$%cd
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]$/
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!