Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Amalan ungkapan biasa PHP: nombor ID yang sepadan

Amalan ungkapan biasa PHP: nombor ID yang sepadan

WBOY
WBOYasal
2023-06-23 10:24:311959semak imbas

Dalam pembangunan harian, terdapat banyak senario di mana padanan nombor ID diperlukan. Nombor ID ialah format tetap, tetapi setiap wilayah mempunyai peraturan yang sedikit berbeza, jadi ungkapan biasa tertentu diperlukan untuk dipadankan.

PHP ialah bahasa pengaturcaraan yang digunakan secara meluas yang menyediakan fungsi dan kelas ekspresi biasa terbina dalam yang boleh memadankan nombor ID dengan mudah. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa PHP untuk memadankan nombor kad ID.

  1. Format nombor kad pengenalan

Nombor ID terdiri daripada 18 digit dan kod semak, di mana kod semak mungkin nombor atau huruf X. 17 digit pertama mewakili kod alamat, kod tarikh lahir dan kod jujukan, dan digit terakhir ialah kod semak yang digunakan untuk mengesahkan kesahihan nombor ID.

Format nombor ID adalah seperti berikut:

① Kod alamat. Nombor 6 digit yang menunjukkan kod bahagian pentadbiran tempat pendaftaran isi rumah.

② Kod tarikh lahir. Nombor 8 digit yang menunjukkan tarikh, bulan dan hari lahir pemegang kad pengenalan.

③ Kod jujukan. Nombor 3 digit, menunjukkan bahawa ia unik di bawah kod alamat dan kod tarikh lahir yang sama.

④ Semak kod. 1 digit atau huruf, digunakan untuk mengesahkan kesahihan nombor ID.

Oleh kerana kod bahagian pentadbiran setiap wilayah adalah berbeza, ungkapan biasa yang berbeza diperlukan untuk memadankan nombor kad pengenalan. Mari kita lihat cara menulis ungkapan biasa untuk memadankan nombor ID.

  1. Padanan kod alamat

Kod alamat ialah 6 digit pertama nombor ID dan digunakan untuk menunjukkan kod bahagian pentadbiran tempat kediaman. Oleh kerana kod bahagian pentadbiran setiap wilayah adalah berbeza, ungkapan biasa yang berbeza perlu ditulis untuk memadankan kod alamat.

Ambil Beijing sebagai contoh Kod alamat Beijing ialah 110000. Ungkapan biasa adalah seperti berikut:

$pattern = '/^110000/';

Antaranya, ^ mewakili permulaan rentetan yang sepadan, dan 110000 mewakili rentetan. kod alamat yang perlu dipadankan.

Ungkapan biasa di wilayah lain boleh diubah suai mengikut kod bahagian pentadbiran.

  1. Tarikh padanan kod lahir

Tarikh lahir kod ialah digit ke-7 hingga ke-14 nombor kad pengenalan, digunakan untuk menunjukkan tahun, bulan dan hari kelahiran pemegang kad pengenalan . Format kod tarikh lahir ialah yyyyMMdd, dengan yyyy mewakili tahun lahir, MM mewakili bulan lahir dan dd mewakili hari lahir.

Ungkapan biasa kod tarikh lahir adalah seperti berikut:

$pattern = '/^[1-9]d{5}(19|20)d{2}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])d{3}[0-9Xx]$/';

Antaranya, [1-9]d{5} mewakili 6 digit pertama kod alamat, (19| 20)d{2} mewakili Tahun lahir adalah dari 1900 hingga 2099, (0[1-9]|1[012]) bermaksud bulan kelahiran adalah dari 01 hingga Disember, (0[1-9]|12 |3[01]) bermaksud hari lahir ialah 01 Sehingga 31hb, d{3} mewakili kod jujukan, [0-9Xx] mewakili kod semak (boleh menjadi nombor atau huruf X).

  1. Lengkapkan ungkapan biasa

Dengan menggabungkan ungkapan biasa kod alamat dan kod tarikh lahir, peraturan pemadanan lengkap untuk nombor ID boleh diperolehi:

$pattern = '/^110000(19|20)d{2}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])d{3}[0-9Xx]$/';

Ungkapan biasa ini boleh sepadan dengan nombor kad pengenalan Bandaraya Beijing, dan ungkapan biasa wilayah lain boleh diubah suai mengikut kod bahagian pentadbiran yang sepadan.

  1. Gunakan ungkapan biasa PHP untuk memadankan nombor ID

Dalam PHP, anda boleh menggunakan fungsi preg_match untuk memadankan nombor ID. Berikut ialah contoh:

$id_number = '110101199001010013'; // 待匹配的身份证号码
$pattern = '/^110000(19|20)d{2}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])d{3}[0-9Xx]$/'; // 匹配规则
if (preg_match($pattern, $id_number)) {
    echo '身份证号码格式正确';
} else {
    echo '身份证号码格式错误';
}

Dalam kod ini, $id_number ialah nombor ID yang perlu dipadankan dan $pattern ialah peraturan padanan. Jika nombor ID memenuhi peraturan padanan, format output adalah betul jika tidak, format output tidak betul.

  1. Ringkasan

Menggunakan ungkapan biasa PHP boleh memadankan nombor ID dengan mudah. Ia adalah perlu untuk menulis ungkapan biasa yang sepadan mengikut kod bahagian pentadbiran wilayah yang berbeza untuk memadankan kod alamat, dan kemudian memadankan nombor kad pengenalan lengkap dengan menggabungkan kod alamat dan kod tarikh lahir. Dalam aplikasi praktikal, kod padanan nombor ID boleh dirangkumkan ke dalam fungsi untuk mudah digunakan semula.

Atas ialah kandungan terperinci Amalan ungkapan biasa PHP: nombor ID yang sepadan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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