マイナンバーのチェックディジット計算
[2018-08-07 おことわり] JavaScriptで書かれたマイナンバーのチェックディジット計算プログラムを公開していましたが,個人情報保護委員会様から,入力されたものがネットに流れないことはソースで確認したが,マイナンバー収集を誤認するようなページは好ましくないのではないかというご意見をいただきました。確かにもっともなことですので,ソースコードを示すだけにとどめることにしました。このソースを打ち込めば確認できますので,ご自分でお試しください。
<p><label>マイナンバーの先頭11桁:<input id="input" size="13" onchange="check()"></label></p> <p>マイナンバーの最後の桁(チェックディジット):<input id="output" size="5" readonly></p> <script> function check() { let r = "Error"; const x = document.getElementById("input").value; if (x.length == 11) { let s = 0; for (let n = 1; n <= 11; n++) { let p = x[11-n]; let q = (n <= 6) ? n+1 : n-5; s += p * q; } s %= 11; r = (s <= 1) ? 0 : 11 - s; } document.getElementById("output").value = r; } </script>
参考:総務省令第八十五号第五条