function luhnCheckDigit(mynum) { var sum = 0; var validChars = "0123456789ABCDEFGHIJKLMNOPQRSTUVYWXZ_"; mynum = mynum.toUpperCase().replace(/^\s+|\s+$/g, ''); for (var i = 0; i < mynum.length; i++) { var ch = mynum.charAt(mynum.length - i - 1); if (validChars.indexOf(ch) < 0) { WScript.echo("Invalid character(s) found!"); return false; } var digit = ch.charCodeAt(0) - 48; var weight; if (i % 2 == 0) weight = (2 * digit) - parseInt(digit / 5) * 9; else weight = digit; sum += weight; } sum = Math.abs(sum) + 10; var digit = (10 - (sum % 10)) % 10; return digit; }