Ungkapan biasa PHP untuk mengesahkan maklumat hari lahir nombor ID

王林
Lepaskan: 2023-06-24 17:48:02
asal
1466 orang telah melayarinya

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;
}
Salin selepas log masuk

}

Apabila menggunakan fungsi ini untuk mengesahkan nombor ID, anda hanya perlu memasukkan rentetan nombor ID:

jika (validate_birthday('440524199312220058')) {

echo '生日信息正确';
Salin selepas log masuk

} else {

echo '生日信息错误';
Salin selepas log masuk

}

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!

Label berkaitan:
sumber:php.cn
Kenyataan Laman Web ini
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
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan