クレジットカード番号をチェックする

Pocket

クレジットカードの番号には規則があり合致しないとエラーになります。
チェックの仕組みを「ルーンアルゴリズム」と言うそうです。
この手のチェックの仕組みは数列からチェックデジットを計算して先頭か末尾に付けるというパターンが多いと思いますが、この仕組みは数列全体が正しいか否かをチェックするようです。
これをJavaScriptで再現してみました。

function luhn_checksum(card_number) {
  var a, s, i, x;
  a = card_number.split("").reverse();
  s = 0;
  for (i = 0; i < a.length; i++) {
    x = a[i] * (1 + i % 2);
    s += x > 9 ? x - 9 : x;
  }
  return s % 10 == 0;
}

JSFiddleで試せます。
https://jsfiddle.net/806b7xya/

[ 2016年1月12日 | カテゴリー: JavaScript | タグ: ]

« | »

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報