Kad ID ialah dokumen penting Untuk tapak web, apl dan aplikasi lain, selalunya perlu untuk mengesahkan sama ada nombor ID yang dimasukkan oleh pengguna memenuhi spesifikasi. PHP menyediakan cara yang sangat mudah untuk mencapai fungsi ini, iaitu, menggunakan ungkapan biasa.
Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa PHP untuk mengesahkan format nombor ID yang betul.
1. Format nombor kad ID
Sebelum menggunakan ungkapan biasa PHP untuk mengesahkan format nombor kad ID, kita perlu memahami peraturan format nombor kad pengenalan. Format nombor kad pengenalan China mempunyai jumlah 18 digit, 17 digit pertama ialah nombor, dan digit terakhir ialah kod semak (yang mungkin nombor atau huruf besar).
Peruntukan khusus adalah seperti berikut:
Sekarang kita tahu format nombor ID, kita boleh menggunakan ungkapan biasa PHP untuk mengesahkan ketepatannya.
2. Pengesahan ungkapan biasa
Pengesahan ungkapan biasa biasanya menggunakan fungsi preg_match, dan sintaksnya adalah seperti berikut:
preg_match($pattern, $subject);
Antaranya, $pattern mewakili ungkapan biasa dan $subject mewakili rentetan Pengesahan keperluan. Jika perlawanan itu berjaya, kembalikan 1, jika tidak pulangkan 0.
Seterusnya, kita perlu membina ungkapan biasa yang boleh mengesahkan format nombor ID. Kaedah pelaksanaan khusus adalah seperti berikut:
Ringkasnya, ungkapan biasa terakhir boleh diperolehi:
/^([1-9]d{5})(d{4})([0-9]{2})([0-9]{2})(d{3})(d{3})(d{2})(d[xXd])$/
Menggunakan ungkapan biasa PHP untuk mengesahkan nombor ID memerlukan fungsi preg_match Contoh kod adalah seperti berikut:
function check_id_card($id_card) { // 加上正则表达式 $reg = '/^([1-9]d{5})(d{4})([0-9]{2})([0-9]{2})(d{3})(d{3})(d{2})([dxX])$/'; if (preg_match($reg, $id_card, $matches)) { // 校验地址码 if (!check_address_code($matches[1])) { return false; } // 校验出生日期 if (!check_birthday($matches[2] . "-" . $matches[3] . "-" . $matches[4])) { return false; } // 校验顺序码 if (!check_order_code($matches[5])) { return false; } // 校验校验码 if (!check_verify_code($matches[0])) { return false; } return true; } return false; }
Antaranya, check_address_code, check_birthday, check_order_code, check_verify_code dan fungsi lain digunakan untuk mengesahkan ketepatan kod alamat, tarikh lahir, kod jujukan dan kod semak masing-masing dan perlu dilaksanakan mengikut spesifikasi tertentu. keadaan.
3. Ringkasan
Melalui kaedah di atas, anda boleh menggunakan ungkapan biasa PHP untuk mengesahkan ketepatan nombor ID. Perlu diingat bahawa pengesahan nombor ID bukan sahaja soal format, tetapi juga perlu mempertimbangkan sama ada kod alamat itu sah, sama ada tarikh lahir berada dalam julat yang munasabah, sama ada pengecam jantina kod jujukan mematuhi peraturan, dsb. Oleh itu, pelaksanaan kod perlu mengambil kira Banyak faktor memastikan ketepatan dan kebolehpercayaan hasil pengesahan.
Atas ialah kandungan terperinci Bagaimana untuk mengesahkan format kad ID menggunakan ungkapan biasa PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!