スキップしてメイン コンテンツに移動

投稿

3月, 2012の投稿を表示しています

ISBNのチェック

先日投稿した  jQueryで本の表紙画像を表示してみる  はエラーチェックもなかったので、ISBNの正常性チェックする関数を作ってみた。 内容はチェックデジットを再計算して比較するという簡単なもの。 一応ISBN-10及び13の両方に対応できるようにしています。   function checkISBN(str) {  var isbn = "";  var checkDigit = 0;  switch(str.length) {   case 10:    for (i = 10; i > 1; i-- ) {     checkDigit += parseInt(str.charAt(10 - i)) * i;    }    checkDigit = (11 - (checkDigit % 11)) % 11;    isbn =  str.substr(0,9) + (checkDigit == 10 ? 'X' :checkDigit.toString());    break;   case 13:    for ( i = 0; i < 12; i++) {     if( i % 2 == 0 )      checkDigit += parseInt(str.charAt(i)) * 1;     else      checkDigit += parseInt(str.charAt(i)) * 3;    }    checkDigit = (10 - (checkDigit % 10)) % 10;    isbn = str.substr(0,12) + checkDigit.toString();    break;  }  return str.toUpperCase() == isbn ? true : false; } いつもの決まり文句ですが、このコードを使って何が起きても責任は持ちません。 素人が作ったスクリプトだということを忘れずに・・・