Changeset 2432 for lang/javascript/misc

Show
Ignore:
Timestamp:
12/04/07 21:49:14 (5 years ago)
Author:
ykzts
Message:

lang/javascript/misc/isbn.js: checked ISBN validate.

Files:
1 modified

Legend:

Unmodified
Added
Removed
  • lang/javascript/misc/isbn.js

    r2402 r2432  
    2424 
    2525  self.parse10 = function(isbn) { 
     26    var checkdigit = 0; 
     27    for(var i=10; 10-i < 9; i--) 
     28      checkdigit += isbn.charAt(10-i) * i; 
     29    checkdigit = 11 - (checkdigit % 11); 
     30    if(checkdigit == 10) 
     31      checkdigit = 'X'; 
     32    else if(checkdigit == 11) 
     33      checkdigit = 0; 
     34    if(isbn[9] != checkdigit) 
     35      return false; 
    2636    return isbn; 
    2737  }; 
    2838 
    2939  self.parse13 = function(isbn) { 
     40    var checkdigit = 0; 
     41    for(var i=0; i < 12; i++) 
     42      checkdigit += isbn.charAt(i) * ((!(i % 2) || 3) * 1); 
     43    checkdigit = 10 - (checkdigit % 10); 
     44    if(isbn[12] != checkdigit) 
     45      return false; 
    3046    return isbn; 
    3147  };