Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara mengesahkan jantina nombor ID menggunakan ungkapan biasa PHP

Cara mengesahkan jantina nombor ID menggunakan ungkapan biasa PHP

WBOY
WBOYasal
2023-06-24 11:52:041827semak imbas

Dalam nombor ID biasa, digit ke-17 nombor itu dipanggil "kod jantina" dan digunakan untuk menunjukkan jantina pemegang kad ID. Apabila mengesahkan kesahihan nombor ID, kami biasanya perlu menggunakan ungkapan biasa untuk membuat pertimbangan dan mengesahkan jantina pemegang berdasarkan nilai kod jantina. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa PHP untuk mengesahkan jantina nombor ID.

1. Format nombor ID

Nombor ID ialah pengecam unik yang terdiri daripada 18 digit dan huruf, yang mengandungi maklumat asas dan maklumat tempat asal seseorang. Format khusus adalah seperti berikut:

Kod kawasan 6 digit (wilayah, bandar dan daerah) + tarikh lahir 8 digit (YYYYMMDD) + kod jujukan 3 digit + kod semakan 1 digit nombor atau huruf

Antaranya, perlu diingatkan bahawa angka ke-15 dan ke-16 pada tarikh lahir mewakili jantina pemegang, dengan nombor ganjil mewakili lelaki dan nombor genap mewakili perempuan.

2 Gunakan ungkapan biasa untuk mengesahkan nombor ID

Apabila menggunakan PHP untuk mengesahkan nombor ID, kita boleh menggunakan fungsi preg_match() dan ungkapan biasa untuk menentukan kesahihan nombor ID. seks. Berikut ialah contoh ungkapan biasa untuk menentukan jantina nombor ID:

function check_idcard($idcard){
    $idcard_pattern = '/^d{17}(d|x)$/i';
    if(preg_match($idcard_pattern, $idcard)){
        $sex_bit = substr($idcard, 16, 1);
        if($sex_bit % 2 != 0){
            echo '该身份证号码为男性。';
        }else{
            echo '该身份证号码为女性。';
        }
    }else{
        echo '该身份证号码不正确。';
    }
}

Dalam fungsi di atas, kami mula-mula menggunakan ungkapan biasa "/^d{17}(d|x)$/ i" untuk lulus dalam Padankan nombor ID untuk menentukan sama ada ia memenuhi keperluan format nombor ID. Jika perlawanan berjaya, digit ke-17 nombor ID dikeluarkan dan jantina pemegang ditentukan berdasarkan pariti. Jika perlawanan tidak berjaya, mesej ralat akan dikeluarkan.

3. Contoh penggunaan

Berikut ialah contoh penggunaan untuk mengesahkan jantina nombor ID:

$idcard = '510123199001011234';
check_idcard($idcard);

Apabila nombor ID yang dimasukkan ialah "510123199001011234", mengikut nombor ID Angka ke-17 "1" dalam nombor ialah nombor ganjil, yang bermaksud ia adalah lelaki. Oleh itu, hasil keluaran ialah "Nombor ID ialah lelaki.".

4. Kesimpulan

Melalui pengenalan di atas, kami telah mempelajari cara menggunakan ungkapan biasa PHP untuk mengesahkan jantina nombor ID. Dalam pembangunan sebenar, kami boleh melaraskan ungkapan biasa mengikut keperluan untuk menyesuaikan diri dengan keperluan perniagaan yang berbeza. Pada masa yang sama, kita juga perlu memberi perhatian kepada format dan kesahihan nombor ID untuk memastikan ketepatan dan kestabilan kod.

Atas ialah kandungan terperinci Cara mengesahkan jantina nombor ID menggunakan ungkapan biasa PHP. 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