From e84623b06c7601845d60fdb7af8b4434a40bbc79 Mon Sep 17 00:00:00 2001 From: Shreyas Sai Date: Sun, 26 Sep 2021 21:38:31 +0530 Subject: [PATCH] feat(isCreditCard): Fixed regex for Union Pay Credit cards with 81 range (#1715) * Fixes #1680 * Added Tests --- src/lib/isCreditCard.js | 2 +- test/validators.js | 2 ++ 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lib/isCreditCard.js b/src/lib/isCreditCard.js index 2b6f2b217..b11c4cc90 100644 --- a/src/lib/isCreditCard.js +++ b/src/lib/isCreditCard.js @@ -1,7 +1,7 @@ import assertString from './util/assertString'; /* eslint-disable max-len */ -const creditCard = /^(?:4[0-9]{12}(?:[0-9]{3,6})?|5[1-5][0-9]{14}|(222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}|6(?:011|5[0-9][0-9])[0-9]{12,15}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11}|6[27][0-9]{14})$/; +const creditCard = /^(?:4[0-9]{12}(?:[0-9]{3,6})?|5[1-5][0-9]{14}|(222[1-9]|22[3-9][0-9]|2[3-6][0-9]{2}|27[01][0-9]|2720)[0-9]{12}|6(?:011|5[0-9][0-9])[0-9]{12,15}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11}|6[27][0-9]{14}|^(81[0-9]{14,17}))$/; /* eslint-enable max-len */ export default function isCreditCard(str) { diff --git a/test/validators.js b/test/validators.js index 44ce4ce7c..6270d6464 100644 --- a/test/validators.js +++ b/test/validators.js @@ -4575,6 +4575,8 @@ describe('Validators', () => { '2718760626256570', '6765780016990268', '4716989580001715211', + '8171999927660000', + '8171999900000000021', ], invalid: [ 'foo',