mmltech / cnp-decoder
一个简单的类,可以通过它提取出输入的CNP的组成部分,如年龄、县、性别等。
v0.0.3
2022-06-08 13:22 UTC
Requires
- php: >=7.1.3
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()