Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Ungkapan biasa PHP untuk mengesahkan sama ada rentetan input dalam format nombor ID atau nombor pasport

Ungkapan biasa PHP untuk mengesahkan sama ada rentetan input dalam format nombor ID atau nombor pasport

PHPz
PHPzasal
2023-06-24 12:11:581862semak imbas

Nombor kad pengenalan dan nombor pasport ialah nombor dokumen biasa dalam kehidupan orang ramai. Apabila melaksanakan fungsi yang melibatkan nombor dokumen ini, selalunya perlu melakukan pengesahan format pada nombor yang dimasukkan untuk memastikan ketepatannya. Dalam PHP, ungkapan biasa boleh digunakan untuk mencapai fungsi ini Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa PHP untuk mengesahkan sama ada rentetan input dalam format nombor ID atau nombor pasport.

1. Pengesahan nombor ID

Nombor ID terdiri daripada 18 digit dan digit terakhir mungkin huruf (kod semak adalah seperti berikut:

The 6 digit pertama ialah kod kawasan, menunjukkan tempat di mana kad ID dikeluarkan;

Digit ke-7 hingga ke-14 ialah tarikh lahir, di mana angka ke-7 hingga ke-10 mewakili tahun, dan angka ke-11 dan Angka ke-12 mewakili tahun, angka ke-13 dan ke-14 mewakili tarikh

15~17 digit ialah nombor jujukan, menunjukkan nombor jujukan sijil yang dikeluarkan di wilayah dan tarikh

Digit terakhir ialah Kod semak digunakan terutamanya untuk menyemak sama ada 17 digit pertama mematuhi piawaian kebangsaan.

Mengikut format nombor ID di atas, anda boleh menggunakan ungkapan biasa untuk pengesahan. Kod pelaksanaan khusus adalah seperti berikut:

function validateIDCard($idCard) {
    $pattern = '/^d{6}(19|20)d{2}(0[1-9]|1[0-2])(0[1-9]|[1-2]d|3[0-1])d{3}[0-9X]$/';
    if (preg_match($pattern, $idCard)) {
        return true;
    } else {
        return false;
    }
}

Dalam kod di atas, fungsi preg_match() dan ungkapan biasa digunakan untuk mengesahkan format nombor ID. Pembolehubah $pattern menyimpan ungkapan biasa yang digunakan untuk mengesahkan format nombor ID, dengan d mewakili nombor, | mewakili atau, dan [0-9X] mewakili bahawa digit terakhir boleh menjadi nombor atau huruf besar X. Jika rentetan input mematuhi format ungkapan biasa, iaitu format nombor ID, maka benar dikembalikan, jika tidak palsu dikembalikan.

2. Pengesahan nombor pasport

Nombor pasport terdiri daripada nombor dan huruf, dan formatnya adalah seperti berikut:

Aksara pertama hingga kedua ialah aksara Inggeris, yang menunjukkan pengeluaran Negara lesen;

Aksara ke-3 hingga ke-5 ialah nombor atau huruf, yang menunjukkan jenis pasport;

Aksara terakhir ialah nombor atau huruf dan ialah jumlah semak.

Apabila anda perlu mengesahkan sama ada rentetan input mematuhi format nombor pasport, anda juga boleh menggunakan ungkapan biasa PHP. Kod pelaksanaan khusus adalah seperti berikut:

function validatePassport($passport) {
    $pattern = '/^[a-zA-Z]{2}d{3}[a-zA-Z0-9]{9}$/';
    if (preg_match($pattern, $passport)) {
        return true;
    } else {
        return false;
    }
}

Dalam kod di atas, fungsi preg_match() dan ungkapan biasa juga digunakan untuk mengesahkan format nombor pasport. Pembolehubah $pattern menyimpan ungkapan biasa yang digunakan untuk mengesahkan format nombor pasport, dengan [a-zA-Z] mewakili huruf Inggeris, d mewakili nombor dan [a-zA-Z0-9] mewakili kedua-dua nombor dan huruf. Jika rentetan input mematuhi format ungkapan biasa, iaitu format nombor pasport, maka benar dikembalikan, jika tidak palsu dikembalikan.

Ringkasan

Seperti yang dapat dilihat daripada kod di atas, adalah sangat mudah untuk menggunakan ungkapan biasa PHP untuk mengesahkan format nombor ID dan nombor pasport. Pembangun boleh membuat pengubahsuaian dan pengoptimuman yang diperibadikan berdasarkan senario aplikasi dan perlu memenuhi keperluan pengesahan yang berbeza.

Atas ialah kandungan terperinci Ungkapan biasa PHP untuk mengesahkan sama ada rentetan input dalam format nombor ID atau nombor pasport. 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