マイナンバー法における法人番号の検査用数字
「行政手続きにおける特定の個人を識別するための番号の利用等に関する法律」が成立し、国民全員にそれぞれ固有の番号「マイナンバー」が付けられます。
そのため、この法律を「マイナンバー法」と呼びます。
番号は個人だけでなく、法人にも付けられます。これを「法人番号」と呼びます。
法人番号は13桁で1桁目は検査用数字(チェックデジット)になります。これについては現在、「法人番号の指定等に関する省令」という省令案が出されていて、計算方法が明記されています。
(検査用数字を算出する算式)
第二条 令第三十五条第一項に規定する財務省令で定める算式は、次に掲げる算式とする。
算式
9-(を9で除した余り)
算式の符号
Pn 令第三十五条第一項に規定する基礎番号の最下位の桁を1桁目としたときのn桁目の数字
Qn nが奇数のとき 1、nが偶数のとき 2
あらかじめ決められた12桁の番号(基礎番号、商業登記法に基づく会社法人等番号)を右端の桁から取り出して、その桁が奇数ならば1、偶数ならば2を乗じます。これを全て足します。これを9で割って余りを求めます。9から余りを引きます。こうすると1から9までのいずれかの整数になります。
JavaScriptで検査数字を求める関数を書いてみました。
function kensa_suji(kiso_bango) {
var sum, n, p, q;
if(!kiso_bango.match(/^[0-9]{12}$/)) {
return;
}
sum = 0;
for(n = 1; n <= 12; n++) {
p = kiso_bango.substr(12 - n, 1);
q = n % 2 === 0 ? 2 : 1;
sum += p * q;
}
return 9 - sum % 9;
}
var sum, n, p, q;
if(!kiso_bango.match(/^[0-9]{12}$/)) {
return;
}
sum = 0;
for(n = 1; n <= 12; n++) {
p = kiso_bango.substr(12 - n, 1);
q = n % 2 === 0 ? 2 : 1;
sum += p * q;
}
return 9 - sum % 9;
}
JSFiddleで試せます。
[ 2014年6月28日 | カテゴリー: 社会 | タグ: JavaScript , JSFiddle , チェックデジット , マイナンバー , 法律 ]
« 東京都の区市町村別人口・面積 | 「君が代」の最大の弱点は? »
コメントを残す