Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Ungkapan biasa PHP untuk mengesahkan format nombor ID

Ungkapan biasa PHP untuk mengesahkan format nombor ID

王林
王林asal
2023-06-24 11:20:081739semak imbas

Nombor kad pengenalan adalah dokumen pengenalan yang sangat penting dalam kehidupan kita. Ia juga merupakan maklumat yang perlu kita isi dalam pelbagai transaksi perniagaan. Oleh itu, apabila membangunkan aplikasi web, adalah sangat penting untuk mengesahkan ketepatan nombor ID.

Dalam PHP, kami boleh mengesahkan format nombor ID melalui ungkapan biasa. Di bawah ini kami akan memperkenalkan secara terperinci cara menggunakan ungkapan biasa untuk mengesahkan format nombor ID.

1. Format nombor kad pengenalan

Nombor ID terdiri daripada 18 digit dan huruf X. 17 digit pertama ialah kod wilayah dan kod tarikh lahir kad pengenalan, dan digit terakhir ialah kod pengesahan kad pengenalan.

Format nombor ID adalah seperti berikut:

第1-6位是身份证的地区编码,由国家统计局制定;
第7-14位是身份证的出生日期,格式为YYYYMMDD;
第15-17位是身份证的顺序码,表示在当天出生的第几个人;
第18位是身份证的校验码,用于校验身份证号码的合法性。

2 Gunakan ungkapan biasa untuk mengesahkan format nombor ID

Gunakan ungkapan biasa untuk mengesahkan format bagi. nombor ID , anda perlu memahami sintaks asas ungkapan biasa.

Dalam PHP, kami menggunakan fungsi preg_match untuk melaksanakan padanan ungkapan biasa. Fungsi ini menerima dua parameter, parameter pertama ialah ungkapan biasa yang akan dipadankan, dan parameter kedua ialah rentetan yang akan dipadankan. Jika perlawanan berjaya, fungsi akan mengembalikan 1, jika tidak ia akan mengembalikan 0.

Ungkapan biasa untuk mengesahkan nombor ID adalah seperti berikut:

/^(d{6})(19|20)(d{2})([01]d)([0123]d)(d{3})(d|X)$/i

Maksud ungkapan biasa adalah seperti berikut:

/^:表示正则表达式的起始位置。
(d{6}):表示前6位数字是身份证的地区编码。
(19|20):表示身份证的出生年份必须是19或20开头。
(d{2}):表示身份证的出生月份,为两位数字。
([01]d):表示身份证的出生日,为01-31之间的数字。由于月份和天数可能不是两位数,因此需要使用[01]d的形式,只要保证第一位是0或1就行了。
([0123]d):表示身份证的出生年份,为01-12之间的数字。
(d{3}):表示身份证的顺序码,由三位数字组成。
(d|X):表示身份证的校验码,只能是数字或字母X。
$/i:表示正则表达式的结束位置。

Berikut ialah contoh kod PHP:

function check_id_card($id_card){
    $preg = "/^(d{6})(19|20)(d{2})([01]d)([0123]d)(d{3})(d|X)$/i";
    if(preg_match($preg, $id_card)){
        return true;
    }else{
        return false;
    }
}

Fungsi ini menerima parameter $id_card, yang mewakili nombor ID untuk disahkan. Ia menggunakan fungsi preg_match dan ungkapan biasa di atas untuk melakukan pemadanan Jika padanan berjaya, fungsi itu akan kembali benar, jika tidak ia mengembalikan palsu.

Di atas ialah cara menggunakan ungkapan biasa untuk mengesahkan format nombor ID. Apabila membangunkan aplikasi web, kami boleh merangkum fungsi ini dalam perpustakaan fungsi awam untuk memudahkan panggilan pada berbilang halaman. Ini boleh meningkatkan kecekapan pembangunan dan memastikan keselamatan aplikasi web.

Atas ialah kandungan terperinci Ungkapan biasa PHP untuk mengesahkan format nombor ID. 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