12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- if(!dojo._hasResource["dojox.validate.isbn"]){
- dojo._hasResource["dojox.validate.isbn"] = true;
- dojo.provide("dojox.validate.isbn");
- dojox.validate.isValidIsbn = function(/* String */value) {
-
-
-
-
- var len, sum = 0, weight;
- if(!dojo.isString(value)){
- value = String(value);
- }
- value = value.replace(/[- ]/g,'');
- len = value.length;
- switch(len){
- case 10:
- weight = len;
-
- for(var i = 0; i < 9; i++){
- sum += parseInt(value.charAt(i)) * weight;
- weight--;
- }
- var t = value.charAt(9).toUpperCase();
- sum += t == 'X' ? 10 : parseInt(t);
- return sum % 11 == 0;
- break;
- case 13:
- weight = -1;
- for(var i = 0; i< len; i++){
- sum += parseInt(value.charAt(i)) * (2 + weight);
- weight *= -1;
- }
- return sum % 10 == 0;
- break;
- }
- return false;
- }
- }
|