diff --git a/src/lib/isTaxID.js b/src/lib/isTaxID.js index 3a87fd0b9..a3182518b 100644 --- a/src/lib/isTaxID.js +++ b/src/lib/isTaxID.js @@ -801,7 +801,7 @@ function lvLvCheck(tin) { for (let i = 0; i < tin.length - 1; i++) { checksum -= parseInt(tin[i], 10) * multip_lookup[i]; } - return (parseInt(tin[10], 10) === checksum % 11); + return (parseInt(tin[10], 10) === ((checksum % 11) % 10)); } return true; } @@ -902,7 +902,7 @@ function plPlCheck(tin) { multiplier += 2; } } - checksum = 10 - (checksum % 10); + checksum = (10 - (checksum % 10)) % 10; return checksum === parseInt(tin[10], 10); } diff --git a/test/validators.test.js b/test/validators.test.js index 596c0b5c5..cfed73a71 100644 --- a/test/validators.test.js +++ b/test/validators.test.js @@ -14058,12 +14058,17 @@ describe('Validators', () => { '01011012344', '32579461005', '01019902341', - '325794-61005'], + '325794-61005', + '01011000010', + '01011010040', + '01011020070'], invalid: [ '010110123444', '0101101234', '01001612345', - '290217-22343'], + '290217-22343', + '01011000011', + '01011010041'], }); test({ validator: 'isTaxID', @@ -14102,14 +14107,21 @@ describe('Validators', () => { '02070803628', '02870803622', '02670803626', - '01510813623'], + '01510813623', + '02070800090', + '02270800010', + '02470800030', + '02670800050', + '02870800070'], invalid: [ '020708036285', '223456789', '22 345-678/95', '02 070-8036/28', '2234567855', - '02223013623'], + '02223013623', + '02070800091', + '02870800078'], }); test({ validator: 'isTaxID',