helip / niss
NISS类提供了处理比利时国民身份号码(niss)的功能
Requires
- php: >=7.4
Requires (Dev)
This package is auto-updated.
Last update: 2024-09-26 00:15:12 UTC
README
Helip/NISS是一个PHP库,提供生成和验证比利时国民身份号码(NISS)的工具。该库包含一个名为NISSGenerator的类,用于生成有效的NISS号码并提供相关信息,以及三个辅助类用于验证NISS号码。该库遵循与比利时NISS号码的构成和验证相关的法律参考中概述的规范。
安装
您可以通过Composer安装此包
composer require helip/niss
入门指南
<?php // Include Composer autoloader require_once 'vendor/autoload.php'; use Helip\NISS\NISS; // Get a niss $rawNiss = 'yymmdd-xxxx-cc'; // Validation $validation = true; try { NISSValidator::isValid($rawNiss); } catch (Exception $e) { // Handle error echo $e->getMessage(); $validation = false; // ... } if ($validation) { // Instantiates a Niss object $niss = new NISS($niss); // Get infos $birthdate = $niss->getBirthdate($niss); $gender = $niss->getGender() $type = $niss->getType(); $formatted = $niss->getFormattedNiss(); // ... // Do stuff // ... }
其他使用示例请参阅 /examples/index.php
注意
NISS
国民身份号码(NISS):这是在出生或移民时分配给每个比利时公民的唯一号码。它由11位数字组成,前六位数字代表个人的出生日期,接着是一个三位数的出生地代码,最后是两位数的校验码。NISS用于广泛的目的,包括社会保障、医疗保健和税收。
NISS BIS
BIS号码是为未在国家登记注册但与比利时在社会保障、医疗保健等各个领域保持紧密稳定关系的人士分配的唯一识别号码。
NISS TER
临时身份号码(TER):这是根据需求生成,用于Covid-19检测的唯一号码。它与任何个人信息或记录无关,只能用于生成的特定Covid-19检测。TER不是用来替代NISS或BIS的,也不能用于Covid-19检测以外的任何其他目的。
非官方NISS类型
非官方NISS号码类型(const NISS::TYPE_UNOFFICIAL
)是为了区分生成的号码而创建的虚构标识符。它没有官方价值,也不被任何政府机构认可。使用此号码不会以任何方式影响生成NISS号码的有效性或准确性。
限制
出生日期计算的准确性
请注意,在极少数情况下,基于比利时国民身份号码(NISS)计算出生日期可能不准确。这是由于一项法律规定,如果所有可能的序列号都已使用,代表出生日期(yymmdd格式)的第六位数字将增加一位,并在新的登记期间从序列的开始重新开始编号。因此,在存在疑虑或不一致的情况下,重要的是要验证从NISS获得的出生日期的准确性。
参考资料
- TI000 - Numéro d'identification(法语)
- CBSS Manual - Belgian Social Security Card(法语)
- Arrêté royal relatif à la composition du numéro d'identification des personnes inscrites au Registre national des personnes physiques. (法语|荷兰语)
免责声明
本包中包含的NISS生成器仅供教育和测试目的使用。生成的NISS号码非官方,不应用于任何官方用途。严禁使用此工具生成用于欺诈或非法目的的NISS号码,否则可能导致法律责任。此工具的作者不承担任何未经授权或非法使用此工具的责任。
致谢
许可协议
GPL-3.0。请参阅许可文件获取更多信息。