EANコード用チェックデジット

Pocket

EANコード(JANコード)は13桁ですが、最後の桁はチェックデジットです。
チェックデジットの作り方は色々ありますが、EANコードの場合は「モジュラス10ウェイト3」と言われる方法を使っています。

  1. 12桁について、右から数えて奇数番目の数は1倍、偶数番目の数は3倍として合計します。
  2. 合計を10で割ったあまりを求めます。
  3. あまりが0のときは「0」、0以外のときは「10-あまり」がチェックデジットとなります。

JavaScriptでサンプルを作ってみました。

function checkdigit(t) {
  //EANコード用のチェックデジット(モジュラス10ウェイト3)
  var s = 0, i;
  for (i = 0; i < t.length; i += 1) {
    s += t.substr(t.length - i - 1, 1) * (i % 2 === 0 ? 3 : 1);
  }
  return s % 10 === 0 ? 0 : 10 - s % 10;
}

[ 2012年2月27日 | カテゴリー: JavaScript | タグ: , ]

« | »

コメント

  1. […] 機械で縞模様をスキャンして13桁の数列に変換しますが、上のパターンに合致しない場合は、エラーになります。 また数列の最後の桁はチェックデジットになっていて、これが合致しない場合もエラーになります。 チェックデジットというのは、12桁をある規則により1桁の数に変換する方法で、EANコードの場合、「モジュラス10のウェイト3」という手法を使っているそうです。 関連投稿 […]

  2. […] 機械で縞模様をスキャンして13桁の数列に変換しますが、上のパターンに合致しない場合は、エラーになります。 また数列の最後の桁はチェックデジットになっていて、これが合致しない場合もエラーになります。 チェックデジットというのは、12桁をある規則により1桁の数に変換する方法で、EANコードの場合、「モジュラス10のウェイト3」という手法を使っているそうです。 関連記事 […]

コメントを残す

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

送信してください。


タグ

カテゴリー

最近の投稿

最近のコメント

固定ページ

アーカイブ

stabucky

写真

メタ情報