UNPKG

documentid-checksum-validator

Version:
36 lines (31 loc) 1.02 kB
'use strict'; Object.defineProperty(exports, '__esModule', { value: true }); exports['default'] = isValidDocId; function isValidDocId(value) { var valueArray = value.split(''); var valid = true; if (valueArray.length < 11 || valueArray.length > 11) { valid = false; } else { var lastTwoDigit = valueArray[9] * 10 + valueArray[10] * 1; // standard multiplier for controling the last two digits in ssn var multiplierString = [9, 8, 7, 6, 5, 4, 3, 2, 1]; var sum = 0; for (var i = 0; i < multiplierString.length; i++) { sum += multiplierString[i] * valueArray[i]; } if (sum < 100 && sum === lastTwoDigit) { valid = true; }if ((sum === 100 || sum === 101) && lastTwoDigit === 0) { valid = true; }if (sum > 102 && sum - 101 === lastTwoDigit) { valid = true; } else { valid = false; } } return valid; } module.exports = exports['default'];