Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Bagaimana untuk memadankan tarikh lahir dalam nombor ID dalam PHP menggunakan ungkapan biasa

Bagaimana untuk memadankan tarikh lahir dalam nombor ID dalam PHP menggunakan ungkapan biasa

王林
王林asal
2023-06-22 22:25:391956semak imbas

Nombor ID ialah maklumat yang sangat penting dan sensitif, yang menyimpan banyak maklumat peribadi seperti tarikh lahir, jantina, tempat asal, dsb. Ia menjadi sangat penting untuk menggunakan ungkapan biasa dalam PHP untuk memadankan tarikh lahir dalam nombor ID. Artikel ini akan memperkenalkan cara menggunakan ungkapan biasa untuk memadankan tarikh lahir dalam nombor kad ID dalam PHP daripada tiga aspek berikut.

1. Format nombor ID

Format nombor ID mempunyai peraturan tertentu, termasuk maklumat berikut:

  1. Dua digit pertama mewakili wilayah;
  2. Dua tengah mewakili bandar atau bandar peringkat daerah; > dan selepas itu Dua digit mewakili tarikh lahir
  3. dan kod semak.
  4. Nombor ID mempunyai 18 digit, yang mana 17 digit pertama adalah nombor atau huruf besar, dan digit terakhir mungkin nombor atau huruf besar X. Oleh itu, sebelum menggunakan ungkapan biasa untuk memadankan tarikh lahir dalam nombor ID, anda perlu memahami format nombor ID.
  5. 2. Penggunaan ungkapan biasa
  6. Dalam PHP, gunakan fungsi preg_match untuk memanggil ungkapan biasa untuk memadankan nombor ID. Untuk memadankan tarikh lahir, anda perlu menggunakan kurungan () untuk mengumpulkan tahun, bulan dan hari lahir dan menggunakan aksara kad bebas yang sepadan dalam ungkapan biasa, seperti berikut:
$pattern = '/^d{6}(19|20)d{2}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])d{3}[dX]$/';

di mana:

mewakili permulaan rentetan yang sepadan;

sepadan dengan enam wilayah dan maklumat bandar pertama; dua digit tahun lahir, terhad kepada 19 atau 20 ;
  1. ^ sepadan dengan dua digit terakhir tahun lahir
  2. d{6} sepadan dengan bulan kelahiran, dengan julat had 01-12;
  3. (19|20) sepadan dengan tarikh lahir , julat had ialah 01-31;
  4. d{2} sepadan dengan digit terakhir nombor ID, yang mungkin digit Atau huruf besar X
  5. (0[1-9]|1[012]) menunjukkan penghujung rentetan yang sepadan.
  6. (0[1-9]|[12][0-9]|3[01])3. Pelaksanaan Kod
  7. Anda boleh menggunakan fungsi preg_match dan ungkapan biasa di atas untuk memadankan nombor ID, dan menggunakan kurungan untuk mengumpulkan tarikh, bulan dan hari lahir kepada memperolehi. Kodnya adalah seperti berikut: d{3}
    $id_card = '34052419951117258X';  // 身份证号码
    $pattern = '/^d{6}(19|20)d{2}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])d{3}[dX]$/';  // 正则表达式
    
    if (preg_match($pattern, $id_card, $matches)) {
        $birth_year = $matches[1] . $matches[2];  // 出生年份
        $birth_month = $matches[3];  // 出生月份
        $birth_day = $matches[4];  // 出生日期
        echo "出生日期:{$birth_year}-{$birth_month}-{$birth_day}";  // 输出
    } else {
        echo "身份证号码格式不正确";
    }
  8. Keluaran kod di atas ialah:
  9. 出生日期:1995-11-17
    [dX]Artikel ini memperkenalkan kaedah menggunakan ungkapan biasa untuk memadankan tarikh lahir dalam nombor kad ID dalam PHP . Anda perlu Beri perhatian kepada penulisan ungkapan biasa dan batasan format nombor kad pengenalan. Sebagai alat pemadanan rentetan yang berkuasa, ungkapan biasa digunakan secara meluas dalam PHP.

Atas ialah kandungan terperinci Bagaimana untuk memadankan tarikh lahir dalam nombor ID dalam PHP menggunakan ungkapan biasa. 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