serima/mynumber

Japanese MyNumber (Individual Number / Corporate Number) verifier

Maintainers

Package info

github.com/serima/MyNumber

pkg:composer/serima/mynumber

Transparency log

Statistics

Installs: 6 301

Dependents: 0

Suggesters: 0

Stars: 4

Open Issues: 0

v2.0.0 2026-07-05 14:59 UTC

README

マイナンバー(個人番号)および法人番号の正当性を検証するためのライブラリです。 桁数・使用文字のチェックと、省令で定められた算式によるチェックデジット(検査用数字)の検証を行います。

CI

Requirements

PHP 8.2 以上

Installation

composer require serima/mynumber

Usage

use Serima\MyNumber\MyNumber;

// 個人番号(12桁・末尾がチェックデジット)
MyNumber::verifyPersonal('123456789018'); // true
MyNumber::verifyPersonal('123456789019'); // false

// 先頭が 0 の場合は文字列で渡してください
MyNumber::verifyPersonal('023456789013'); // true

// 法人番号(13桁・先頭がチェックデジット)
MyNumber::verifyCompany('7000012050002'); // true(国税庁の法人番号)
MyNumber::verifyCompany('7000012050003'); // false

検証仕様

個人番号

11桁の基礎となる番号の後ろに1桁の検査用数字(0〜9)を付した12桁の番号です。 検査用数字は 11 − (Σ Pn × Qn を11で除した余り)(余りが1以下の場合は0)で算出されます。

法人番号

12桁の基礎番号のに1桁の検査用数字(1〜9)を付した13桁の番号です。 検査用数字は 9 − (Σ Pn × Qn を9で除した余り) で算出されます。

License

MIT ライセンスです。

免責

利用者が当ライブラリによって被った損害、損失に対して、いかなる場合でも一切の責任を負いません。