mmltech/cnp-decoder

一个简单的类,可以通过它提取出输入的CNP的组成部分,如年龄、县、性别等。

资助包维护!
Ko Fi

v0.0.3 2022-06-08 13:22 UTC

This package is auto-updated.

Last update: 2024-09-30 01:29:01 UTC


README

一个简单的PHP类,可以通过它提取出输入的CNP的相关组成部分,如人员的年龄、生日剩余天数、出生县、性别、出生年等。

作者:Marco Maxim

网站:https://obscountdown.com

类 CNPDecoder

结构:S AA LL ZZ JJ NNN C

  • S - 组件S代表性别和出生世纪
  •  1 pentru persoanele de sex masculin născute între anii 1900 - 1999
    
  •  2 pentru persoanele de sex feminin născute între anii 1900 - 1999
    
  •  3 pentru persoanele de sex masculin născute între anii 1800 - 1899
    
  •  4 pentru persoanele de sex feminin născute între anii 1800 - 1899
    
  •  5 pentru persoanele de sex masculin născute între anii 2000 - 2099
    
  •  6 pentru persoanele de sex feminin născute între anii 2000 - 2099
    
  •  7 pentru persoanele rezidente, de sex masculin
    
  •  8 pentru persoanele rezidente, de sex feminin
    
  • AA - 组件AA由出生年份的最后两位数字组成。
  • LL - 组件LL由出生月份组成,数值介于01和12之间。
  • ZZ - 组件ZZ由出生日期组成,数值介于01和28、29、30或31之间,具体取决于月份。
  • JJ - 组件JJ代表出生县或区,或者是在授予C.N.P.时的居住地或居住地,根据SIRUTA目录。
  • NNN - 组件NNN代表一个序列号(介于001和999之间),按分配点分配,通过它区分同一性别、同一出生地点和同一出生日期的人员。
  • C - 组件C由一个校验数字组成,该数字可以检测CNP组成部分C中数字替换或颠倒的错误。

安装

$ composer require mmltech/cnp-decoder

使用

<?php
   if(isset($_POST["cnp"])){
       CNPDecoder::init($_POST['cnp']);

       echo "Vârsta: ".CNPDecoder::getAge();
       echo "<BR>Anul nașterii: ".CNPDecoder::getBirthYear();
       echo "<BR>Data nașterii timestamp: ".CNPDecoder::getBirthYearTimestamp();
       echo "<BR>Data nașterii: ".date("d M Y", CNPDecoder::getBirthYearTimestamp());
       echo "<BR>Zile rămase până la data nașterii: ".CNPDecoder::getDaysLeftUntilBirthday();
       echo "<BR>Genul: ".(CNPDecoder::getGender() == 1 ? "Masculin" : "Feminin");
       echo "<BR>Cod județ: ".CNPDecoder::getCountyCode();
       echo "<BR>Denumire județ: ".CNPDecoder::getCountyName();
       echo "<BR><BR><strong>Interpretare CNP conform clasei:</strong>";
       echo "<BR>Persoana cu CNP <b>".$_POST["cnp"]."</b> a fost a <b>".CNPDecoder::getControlNumber()."</b>-a persoană de sex <b>".(CNPDecoder::getGender() == 1 ? "masculin" : "feminin")."</b> născută la data de <b>".date("d M Y", CNPDecoder::getBirthYearTimestamp())."</b> în județul <b>".CNPDecoder::getCountyName()."</b>";
   }
 ?>

可用的方法

// Returnează anul nașterii în format AAAA
getBirthYear()

// Returnează vârsta la momentul utilizării
getAge()

// Returnează un timestamp aferent anului, lunii și a zilei din CNP
getBirthYearTimestamp()

// Returnează un nr întreg aferent genului
getGender()

// Returnează numărul de control
getControlNumber()

// Returnează codul județului
getCountyCode()

// Returnnează denumirea județului
getCountyName()

// Returnează numărul de zile rămase până la data nașterii
getDaysLeftUntilBirthday()