ISBNコードの10桁13桁相互変換ルーチンを久々に更新(CDの検証機能も追加しました)
編集テーブルの更新が2ヶ月位滞っていたため更新しました。
また、件のISBN13で頭の"978"がついていない場合に、ISBN10と区別がつかないため、CDが正しいかをチェックする機能を追加しました。
※福島県版のスクリプト等を修正中ですが、とりあえず共通で使えそうなので先にリリースしました
追加機能
-
- cvISBN10(10桁のISBNコード) 10桁のISBNコードのCDを検証
- 戻り値)一致:真、不一致:偽
- cvISBN13(13桁のISBNコード) 13桁のISBNコードのCDを検証
- 戻り値)一致:真、不一致:偽
- cvISBN10(10桁のISBNコード) 10桁のISBNコードのCDを検証
使用例
function AddDashSub (){ str = document.iform.ISBN1.value; switch(str.length){ 〜 略 〜 case 10: if (str.match(/(\d{9}[\d|X])/)){ if (ckISBN10(str)) { ISBN10 = str; ISBN10e = edISBN10(ISBN10); ISBN13 = cvISBN13(ISBN10); ISBN13e = edISBN13(ISBN13); break; } str = "978" + str; if (ckISBN13(str)) { ISBN13 = str; ISBN13e = edISBN13(ISBN13); ISBN10 = cvISBN10(ISBN13); ISBN10e = edISBN10(ISBN10); document.iform.ISBN1.value = ISBN13; break; } else { document.iform.ISBN1.value = ""; document.iform.ISBN1.focus(); return; } } else { document.iform.ISBN1.value = ""; document.iform.ISBN1.focus(); return; } 〜 略 〜
ハイフン編集ルールの追加と変更(前回よりの変更点)
09.01.2007; Changed Iceland (9979) "0-4;50-64;650-659;66-75;760-899;9000-9999"
05.01.2007; Changed Croatia (953) "0-0;10-14;150-549;55000-59999;6000-9499;95000-99999"
22.12.2006; Changed Dominican Republic (9945) "00-00;010-079;08-39;400-569;57-57;580-849;8500-9999";
20.12.2006; Added ranges for Palestine (9950) "00-29;300-840;8500-9999"
11.12.2006; Changed Serbia (86) "00-09;10-29;300-599;6000-7999;80000-89999;900000-999999";)
05.12.2006; Added Iran (600) 00-09;100-499;5000-8999;90000-99999
05.12.2006; Added Montenegro (9940) 0-1;20-49;500-899;9000-9999
05.12.2006; Added Georgia (9941) 0-0;10-39;400-899;9000-9999
20.11.2006; Changed Haiti (99935) 0-2;7-8;30-59;600-699;90-99