ion-bazan/nric

提供了一个值对象来存储、生成和验证新加坡NRIC/FIN号码,包括新的M系列FIN号码

v1.0.2 2022-05-20 02:48 UTC

This package is auto-updated.

Last update: 2024-09-24 03:49:21 UTC


README

Latest version GitHub Workflow Status PHP version Codecov Mutation testing badge Downloads License

现在支持2022年新的M系列FIN号码!

本包提供了一个自验证的值对象,用于在PHP中存储、生成和验证新加坡NRIC和FIN号码。

用法

<?php

use IonBazan\NRIC\Exception\InvalidChecksumException;
use IonBazan\NRIC\Exception\InvalidFormatException;
use IonBazan\NRIC\NRIC;

$nric = NRIC::generateNric(new DateTime('1990-01-01')); // Generate a random NRIC number
$fin = NRIC::generateFin(new DateTime('1990-01-01')); // Generate a random FIN number

try {
    $invalid = NRIC::fromString('S0000001A'); // Create a self-validating (invalid) instance
} catch (InvalidChecksumException|InvalidFormatException $e) {
    var_dump('invalid');
}

$valid = NRIC::fromString('S0000001I'); // Create a self-validating instance from valid input
var_dump($valid->__toString()); // Thanks to Stringable interface