From d9895f702e8bfe986cde8c63022140baa71286b2 Mon Sep 17 00:00:00 2001 From: dhalcojor Date: Sat, 4 Jun 2016 11:42:31 +0200 Subject: [PATCH 1/3] Fix issue #535: add validation for Union Pay credit cards --- src/lib/isCreditCard.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/isCreditCard.js b/src/lib/isCreditCard.js index b9ab7029e..a09290669 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})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})$/; +const creditCard = /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})|62[0-9]{5,}$/; /* eslint-enable max-len */ export default function isCreditCard(str) { From 7153ce749e3389df6eefa15b32940a25c3517de2 Mon Sep 17 00:00:00 2001 From: dhalcojor Date: Sat, 4 Jun 2016 11:43:10 +0200 Subject: [PATCH 2/3] Add test cases for Union Pay cards --- test/validators.js | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/test/validators.js b/test/validators.js index f8d718e84..13d652a20 100644 --- a/test/validators.js +++ b/test/validators.js @@ -1475,6 +1475,12 @@ describe('Validators', function () { '4716-2210-5188-5662', '4929 7226 5379 7141', '5398228707871527', + '6283875070985593', + '6263892624162870', + '6234917882863855', + '6234698580215388', + '6226050967750613', + '6246281879460688', ], invalid: [ 'foo', From 5853b17a0a68dc25da9703f41aae59489360dbf3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Hern=C3=A1ndez=20Alcojor?= Date: Thu, 9 Jun 2016 10:35:02 +0200 Subject: [PATCH 3/3] Fix Union Pay credit card regex --- src/lib/isCreditCard.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/isCreditCard.js b/src/lib/isCreditCard.js index a09290669..d6c549be7 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})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})|62[0-9]{5,}$/; +const creditCard = /^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6(?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3(?:0[0-5]|[68][0-9])[0-9]{11}|(?:2131|1800|35\d{3})\d{11})|62[0-9]{14}$/; /* eslint-enable max-len */ export default function isCreditCard(str) {