helip/niss

NISS类提供了处理比利时国民身份号码(niss)的功能

1.0.1 2023-04-15 20:30 UTC

This package is auto-updated.

Last update: 2024-09-26 00:15:12 UTC


README

Latest Version on Packagist Build Status Scrutinizer Code Quality Total Downloads PHP 7.4

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获得的出生日期的准确性。

参考资料

免责声明

本包中包含的NISS生成器仅供教育和测试目的使用。生成的NISS号码非官方,不应用于任何官方用途。严禁使用此工具生成用于欺诈或非法目的的NISS号码,否则可能导致法律责任。此工具的作者不承担任何未经授权或非法使用此工具的责任。

致谢

皮埃尔·埃尔林

许可协议

lgplv3-only GPL-3.0。请参阅许可文件获取更多信息。