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 公式アカウントです。
漫画(まんが)・コミックの新刊情報を毎日配信中!
コーヒーブレイク
不老不死生命体バンパイア・マリア―。その存在を“神”として愛する男・十文字篤彦、“人”として愛する超能力少年・本田昇平、そして彼女の生命力の謎を探る秘密結社・比丘尼クラブ…。愛か? 欲望か? 一度きりの人生を賭けた熱き戦いが今!!