Advertisement
mnakos

Calculate luhnCheckDigit

Sep 9th, 2015
175
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. function luhnCheckDigit(mynum)
  2. {
  3.     var sum = 0;
  4.     var validChars = "0123456789ABCDEFGHIJKLMNOPQRSTUVYWXZ_";
  5.     mynum = mynum.toUpperCase().replace(/^\s+|\s+$/g, '');
  6.    
  7.     for (var i = 0; i < mynum.length; i++)
  8.     {
  9.         var ch = mynum.charAt(mynum.length - i - 1);
  10.         if (validChars.indexOf(ch) < 0)
  11.         {
  12.             WScript.echo("Invalid character(s) found!");
  13.             return false;
  14.         }
  15.        
  16.         var digit = ch.charCodeAt(0) - 48;
  17.         var weight;
  18.        
  19.         if (i % 2 == 0)
  20.             weight = (2 * digit) - parseInt(digit / 5) * 9;
  21.         else
  22.             weight = digit;
  23.        
  24.         sum += weight;
  25.     }
  26.     sum = Math.abs(sum) + 10;
  27.     var digit = (10 - (sum % 10)) % 10;
  28.    
  29.     return digit;
  30. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement