見出し画像

GAS|ISBN-10 を ISBN-13 に変換する|Javascript|Google Apps Script|開発裏話

マンガポスト日本版」では、Google ドライブ内に保存している「コミックス発売日情報」を参照して、その日付を基に毎日自動配信(ツイート)しています。

コミックス発売日情報を作成する為に、コミックス情報から取得した「ISBN-10」を「ISBN-13」に変換しています。

/**
 * Convert an ISBN-10 code to an ISBN-13 code.
 * This method requires a valid ISBN-10 with NO formatting characters.
 * 
 * @param isbn10 — the ISBN-10 code to convert
 * @return String — a converted ISBN-13 code or empty if the ISBN-10 code is not valid
 */
function convertToISBN13(isbn10) {
  // empty?
  if (!isbn10) {
    return '';
  }
  
  // get length
  var length = isbn10.length;
  if (10 != length) {
    return '';
  }
  
  // convert to isbn13
  var isbn13 = ('978' + isbn10.substring(0, 9));
  var digits = 0;
  for (var i = 0; i < isbn13.length; i++) {
    var num = Number(isbn13.charAt(i));
    if (0 == (i % 2)) {
      digits += num;
    } else {
      digits += (num * 3);
    }
  }
  digits = (10 - (digits % 10));
  if (10 == digits) {
    digits = 0;
  }
  return (isbn13 + String(digits));
}

日本国内での使用を前提にしていますので、先頭は「978」固定になっています(「979」の国が存在します)。

マンガポスト日本版

マンガポスト日本版の Twitter 公式アカウントです。
漫画(まんが)・コミックの新刊情報を毎日配信中!

コーヒーブレイク

不老不死生命体バンパイア・マリア―。その存在を“神”として愛する男・十文字篤彦、“人”として愛する超能力少年・本田昇平、そして彼女の生命力の謎を探る秘密結社・比丘尼クラブ…。愛か? 欲望か? 一度きりの人生を賭けた熱き戦いが今!!

いいなと思ったら応援しよう!

この記事が参加している募集