バーコードの文字列をISBNに変換するjavascript
あまり詳しくしらべてないが、だいたいこれでいけるきがする。
10個くらいやってうまくいったから、大丈夫かなぁ?
Xと0も大体いけたきがする。
prototype.jsを使うと、toArray使えてべんりだなぁ〜
// strでうけとったISBNを含むと思われる文字列からISBNを作る function string2isbn(str){ var products = 0; // 計算のテンポラリとしてしかつかわない。。。 if( str.length == 12 ){ // UPCかな? return ''; }else if(str.length!=13){ // その他 return ''; } var isbn=str.substring(3,str.length-1); var isbnary = []; for( var i = 0 ; i < isbn.length ;i++){ isbnary.push(isbn.substring(i,i+1)); } for( var i = 0 ; i < 9 ; i++){ products = products + (10-i)*isbnary[i]; } var chkstr = "X" // チェックディジット for( i = 0 ; i < 10 ; i++ ){ if( (products+i)%11 == 0 ){ chkstr = i; break; } } return isbn+chkstr; }