Rumah >pembangunan bahagian belakang >tutorial php >Ungkapan biasa PHP untuk mengesahkan maklumat hari lahir nombor ID
Nombor kad pengenalan adalah alat bukti identiti yang sering kita gunakan dalam kehidupan seharian, dan maklumat hari lahir yang terkandung di dalamnya juga sangat penting. Apabila menggunakan PHP untuk mengesahkan nombor ID, kami selalunya perlu menentukan sama ada maklumat hari lahir adalah betul. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa PHP untuk mengesahkan maklumat hari lahir nombor ID.
1. Format asas nombor ID
Nombor ID ialah rentetan 18 digit dan huruf, di mana digit terakhir mungkin nombor atau huruf, dan mungkin huruf besar atau huruf kecil. 17 digit pertama adalah bahagian utama kad pengenalan, yang mengandungi wilayah kad pengenalan, tarikh lahir, jantina dan maklumat lain. Format asas nombor ID adalah seperti berikut:
Kod kawasan 6 digit + tarikh lahir 8 digit + kod jujukan 3 digit + kod semak 1 digit
Antaranya, tarikh lahir adalah dalam angka tulen format, seperti 19880101, jadi kami Rentetan 18 digit nombor kad ID boleh dibahagikan kepada empat bahagian berikut melalui ungkapan biasa:
$kod_rantau // 6 digit kod wilayah
$hari lahir // 8 digit tahun , bulan dan hari lahir
$sequence_code // 3 digit Sequence code
$verify_code // 1-digit verification code
2 PHP expression regular untuk mengesahkan maklumat hari lahir
Apabila mengesahkan maklumat hari lahir nombor ID, kami perlu. untuk menggunakan ungkapan biasa untuk mengekstrak tahun, bulan dan hari lahir Kemudian tentukan sama ada ia mematuhi format yang ditentukan.
Dalam nombor ID, kedudukan tarikh lahir ialah dari 7 hingga 14, jadi kita boleh menggunakan fungsi substr() untuk mengekstrak rentetan 8 digit, dan kemudian menggunakan ungkapan biasa untuk pengesahan.
Berikut ialah ungkapan biasa untuk mengesahkan tahun, bulan dan hari lahir:
$birthday_pattern = '/^(19h{2}|20h{2})(0[1-9]|1[012] )(0[1 -9]|[12]d|3[01])$/';
Antaranya:
^: Menunjukkan padanan permulaan rentetan
(19h{2}|20h{2} ): Menunjukkan padanan 19XX atau 20XX Tahun
(0[1-9]|1[012]): bermaksud memadankan bulan 01-12
(0[1-9]|[12]h|3[01]) : bermakna padankan hari 01-31
$: Menunjukkan penghujung rentetan padanan
Padankan tarikh lahir 8 digit dalam nombor ID dengan ungkapan biasa di atas Jika perlawanan berjaya, ia bermakna maklumat hari lahir adalah sah.
Berikut ialah contoh kod PHP lengkap:
function validate_birthday($id_card)
{
$birthday_pattern = '/^(19d{2}|20d{2})(0[1-9]|1[012])(0[1-9]|[12]d|3[01])$/'; $birthday_string = substr($id_card, 6, 8); if (preg_match($birthday_pattern, $birthday_string)) { return true; } else { return false; }
}
Apabila menggunakan fungsi ini untuk mengesahkan nombor ID, anda hanya perlu memasukkan rentetan nombor ID:
jika (validate_birthday('440524199312220058')) {
echo '生日信息正确';
} else {
echo '生日信息错误';
}
Melalui kaedah di atas, kami boleh mengesahkan dengan cepat dan tepat sama ada nombor sah hari lahir itu adalah nombor ID yang sah. daripada jantina nombor ID.
Atas ialah kandungan terperinci Ungkapan biasa PHP untuk mengesahkan maklumat hari lahir nombor ID. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!