Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk mengesahkan nombor kad pengenalan menggunakan ungkapan biasa PHP
Sebagai bahasa pengaturcaraan yang sangat popular, PHP menyediakan fungsi ekspresi biasa yang berkuasa yang boleh digunakan untuk mengesahkan pelbagai format data input oleh pengguna. Antaranya, pengesahan nombor ID adalah keperluan yang sangat biasa, kerana nombor ID adalah satu-satunya pengecam identiti dan memerlukan pengesahan yang ketat dalam banyak senario aplikasi. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa PHP untuk mengesahkan nombor ID.
1. Dapatkan nombor ID
Sebelum mula mengesahkan nombor ID, kita perlu mendapatkan nombor ID yang dimasukkan oleh pengguna. Ia boleh diperolehi melalui penyerahan borang, penghantaran parameter API, dsb., yang tidak akan diterangkan di sini. Andaikan nombor ID yang kami perolehi ialah $id_number.
2. Peraturan untuk nombor ID
Sebelum melakukan pengesahan ungkapan biasa, kita perlu terlebih dahulu memahami peraturan untuk nombor ID. Nombor kad pengenalan terdiri daripada 18 digit dan huruf 17 digit pertama termasuk wilayah, bandar, daerah (daerah) dan maklumat lain, dan digit terakhir ialah kod semakan. Peraturan khusus adalah seperti berikut:
1 dan 2 digit pertama mewakili: kod bahagian pentadbiran wilayah
2 bandar;
3 Angka ke-5 dan ke-6 mewakili: kod bahagian pentadbiran daerah (daerah); contoh, 701230 mewakili Disember 1970. 30 Mac;
5 Angka ke-15 hingga ke-17 mewakili: kod balai polis tempatan, dikira daripada 17 digit pertama.
Mengikut peraturan di atas, kita boleh mendapatkan ungkapan biasa nombor ID:
/^[1-9]d{5}(19|20)d{2}( (( 0[1-9])|(1[0-2]))((0[1-9])|([1-2]d)|(3[0-1]))d{3 }[ 0-9xX]$/
Mari kita analisa ungkapan biasa ini satu demi satu.
Pertama sekali, ^ mewakili kedudukan permulaan rentetan yang sepadan dan $ mewakili kedudukan penamat rentetan yang sepadan Ini memastikan keseluruhan rentetan mematuhi peraturan nombor ID.
Seterusnya, [1-9]d{5} mewakili 6 digit pertama nombor ID, yang boleh menjadi sebarang nombor dari 1 hingga 9, diikuti dengan 5 digit. Ini sebenarnya kod bahagian pentadbiran wilayah, bandar atau daerah (daerah).
Kemudian, (19|20)d{2} mewakili 8~9 digit pertama nombor ID, yang boleh menjadi 19 atau 20, diikuti dengan 2 digit. Ini menunjukkan tahun kelahiran.
Seterusnya, ((0[1-9])|(1[0-2])) mewakili 10~11 digit pertama nombor ID, yang boleh menjadi sebarang nombor dari 01~12 Ini bermaksud Bulan kelahiran.
Kemudian, ((0[1-9])|([1-2]d)|(3[0-1])) mewakili 12~13 digit pertama nombor ID, yang boleh menjadi Sebarang nombor dari 01 hingga 31, ini mewakili tarikh lahir.
Seterusnya, d{3} mewakili 14~16 digit pertama nombor ID, iaitu kod balai polis tempatan, dan boleh menjadi mana-mana 3 digit.
Akhir sekali, [0-9xX] mewakili digit terakhir nombor ID, yang boleh menjadi 0~9 atau x atau X. Ini ialah kod semak.
3. Penggunaan ungkapan biasa PHP
Selepas memahami peraturan dan ungkapan biasa nombor ID, kami boleh menggunakan fungsi preg_match PHP untuk mengesahkan nombor ID yang dimasukkan oleh pengguna. Penggunaan khusus adalah seperti berikut:
$pattern = '/^[1-9]d{5}(19|20)d{2}((0[1-9])|(1[0-2]))((0[1-9])|([1-2]d)|(3[0-1]))d{3}[0-9xX]$/'; if(preg_match($pattern, $id_number)) { echo '身份证号码合法'; } else { echo '身份证号码不合法'; }
Dalam kod di atas, $pattern ialah ungkapan biasa yang baru kami takrifkan dan $id_number ialah nombor ID yang dimasukkan oleh pengguna. Fungsi preg_match akan mengesahkan nombor ID yang dimasukkan oleh pengguna melalui ungkapan biasa dan mengembalikan hasil yang sepadan. Jika perlawanan berjaya, "Nombor kad pengenalan adalah sah" akan dikeluarkan, jika tidak, "nombor kad pengenalan adalah haram" akan dikeluarkan.
4. Ringkasan
Melalui artikel ini, kami mempelajari cara menggunakan ungkapan biasa PHP untuk mengesahkan nombor ID. Walaupun peraturan untuk nombor ID agak rumit, pengesahan boleh dilaksanakan dengan mudah selagi anda menguasai sintaks asas ungkapan biasa dan peraturan untuk nombor ID. Dalam aplikasi praktikal, kami juga boleh menyesuaikan ungkapan biasa kami sendiri seperti yang diperlukan untuk memenuhi keperluan pengesahan yang berbeza.
Atas ialah kandungan terperinci Bagaimana untuk mengesahkan nombor kad pengenalan menggunakan ungkapan biasa PHP. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!