2018/08/13)マイナンバーのチェックデジットを確認する必要があったのでPHP関数を作りました。個人番号マイナンバー(個人番号)のチェックデジットの計算式は法律に記載されています。令第八条の総務省令で定める算式は、次に掲げる算式とする。算式11―(n=1(シグマ)11(Pn×Qn))を11で除した余り)ただし、(n=1(シグマ)11(Pn×Qn))を11で除した余り≦1の場合は、0とする。n―5これを使って入力されたマイナンバーが妥当であるか確認できます。形式として正しいことだけチェックするのでマイナンバーが本人の物であるか、実際に利用されている物なのか、などは当然確認できません。個人用マイナンバーのチェックデジットを計算し確認。最後の一文字がチェックディジット。個人用マイナンバーのチェックデジットを計算し確認。最後の一文字がチェックディジット。mynumber.phpint(123456789010)bool(false)int(123456789011)bool(false)int(123456789012)bool(false)int(123456789013)bool(false)int(123456789014)bool(false)int(123456789015)bool(false)int(123456789016)bool(false)int(123456789017)bool(false)int(123456789018)bool(true)int(123456789019)bool(false)問題ないと思いますが、さっと作ったので問題があれば教えてください。法人番号コード中に法人用の法人番号のチェックデジットのアルゴリズムは異る、と記載しています。法人番号のチェックデジットはこの法律で定められています。規定する財務省令で定める算式は、次に掲げる算式とする。2法人番号は既に12桁の数字が割り振られています。これの最後に1桁のチェックデジットを足した13桁の数字が新しい法人番号になります。最初の一文字がチェックディジット。最初の一文字がチェックディジット。verifyCooporateNumber($cnum+$i));}今すぐ必要ではなかったので確認していません。問題がある場合は教えてください。追記:チェックデジットは最後という思い込みがあったので、最後がチェックデジットとして処理していましたが最初として処理するよう修正しました。紹介エレクトロニック・サービス・イニシアチブのWebシステムのコンサルタントのブログです。PHPの開発、PHP4.x/5.xレガシーPHPセキュリティパッチサービスなどを行っています。ブログのサブタイトルを「書かない日記」としているのは、ブログを始めた時にあまり書かないつもりで始めたのでこのサブタイトルになっています。yohgaki@ohgaki.net私が記述したブログ中のコードは記載が無い場合はMITライセンスです。その他のコードは参考リンクなどのライセンス情報を参照ください。