LoginSignup
7

More than 5 years have passed since last update.

マイナンバーを検証する gem を作った

Last updated at Posted at 2015-12-04

tl;dr

開発中のサービス SmartHR で必要になったので、マイナンバー、法人番号の validator を作りました。

kufu/tsubaki

こんな感じで検証できます。

# マイナンバーの検証
validates :digits, my_number: { strict: true, allow_blank: true }

# 法人番号の検証
validates :digits, corporate_number: { strict: true, allow_blank: true }

(あんま需要なさそうですが)マイナンバー関連のシステムを構築する際などにご活用ください。

チェックディジットについて

12 桁で構成されているマイナンバーのうち、最後尾の 1 桁は「チェックディジット」として利用されます。
この数値は最後尾の 1 桁を除く 11 桁の数値をもとに算出されます。
入力ミスを計算によって発見することができる、とても便利な仕組みです。

ちなみにマイナンバーのチェックディジット計算方法はこんな感じです。

スクリーンショット 2015-11-29 10.52.29
総務省令第八十五号 第五条より

ワザワザこのロジックを書くのは面倒ですね。
Tsubaki を利用すると、簡単にチェックディジットの検証を行うことができます!

法人番号

各企業に割り当てられる 13 桁の法人番号にもチェックディジットが付与されています。
マイナンバーが最後尾の 1 桁をチェックディジットとしている一方で、法人番号は先頭の 1 桁を利用します。また、マイナンバーとは計算方法も少々異なります。

スクリーンショット 2015-11-29 11.05.37
法人番号に関するFAQ|社会保障・税社会保障・税番号制度FAQ|社会保障・税番号制度<マイナンバー>について|国税庁より

Tsubaki は法人番号の検証にも対応しています。

おまけ

検証用にランダムなマイナンバーや法人番号を生成するページを用意しました。
テスト等にご利用ください。

擬似マイナンバーくん

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7