This is an automated email from the ASF dual-hosted git repository.
sebb pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-validator.git
The following commit(s) were added to refs/heads/master by this push:
new c9202ac VALIDATOR-403 DISCOVER 6011 17 digits
c9202ac is described below
commit c9202acfb7a47cc656a7d53f9277f222669d6356
Author: Sebb <[email protected]>
AuthorDate: Tue Jul 28 12:51:52 2020 +0100
VALIDATOR-403 DISCOVER 6011 17 digits
---
src/changes/changes.xml | 3 +++
.../org/apache/commons/validator/routines/CreditCardValidator.java | 2 +-
.../org/apache/commons/validator/routines/CreditCardValidatorTest.java | 2 +-
3 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 9a4176b..4b413bb 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -99,6 +99,9 @@ Apache Commons Validator.
For the current list of dependencies, please see
http://commons.apache.org/validator/dependencies.html
">
+ <action issue="VALIDATOR-403" type="fix" dev="sebb" due-to="Tanya">
+ Accept Discover cards of 17 digits long that start with 6011
+ </action>
<action issue="VALIDATOR-408" type="fix" dev="sebb" due-to="Raj Vaida">
DISCOVER Card Validation Patterns
</action>
diff --git
a/src/main/java/org/apache/commons/validator/routines/CreditCardValidator.java
b/src/main/java/org/apache/commons/validator/routines/CreditCardValidator.java
index 801645d..94e8fe0 100644
---
a/src/main/java/org/apache/commons/validator/routines/CreditCardValidator.java
+++
b/src/main/java/org/apache/commons/validator/routines/CreditCardValidator.java
@@ -236,7 +236,7 @@ public class CreditCardValidator implements Serializable {
* 6011xx (16) <br>
* 644xxx - 65xxxx (16) <br>
*/
- private static final RegexValidator DISCOVER_REGEX = new
RegexValidator(new String[] {"^(6011\\d{12})$", "^(64[4-9]\\d{13})$",
"^(65\\d{14})$", "^(62[2-8]\\d{13})$"});
+ private static final RegexValidator DISCOVER_REGEX = new
RegexValidator(new String[] {"^(6011\\d{12,13})$", "^(64[4-9]\\d{13})$",
"^(65\\d{14})$", "^(62[2-8]\\d{13})$"});
/** Discover Card Validator */
public static final CodeValidator DISCOVER_VALIDATOR = new
CodeValidator(DISCOVER_REGEX, LUHN_VALIDATOR);
diff --git
a/src/test/java/org/apache/commons/validator/routines/CreditCardValidatorTest.java
b/src/test/java/org/apache/commons/validator/routines/CreditCardValidatorTest.java
index 7605389..a55d20a 100644
---
a/src/test/java/org/apache/commons/validator/routines/CreditCardValidatorTest.java
+++
b/src/test/java/org/apache/commons/validator/routines/CreditCardValidatorTest.java
@@ -55,6 +55,7 @@ public class CreditCardValidatorTest extends TestCase {
VALID_DINERS,
VALID_VPAY,
VALID_VPAY2,
+ "60115564485789458", // VALIDATOR-403
};
private static final String [] ERROR_CARDS = {
@@ -311,7 +312,6 @@ public class CreditCardValidatorTest extends TestCase {
assertTrue("Length 16-644", regex.isValid("6444567890123456"));
assertTrue("Length 16-648", regex.isValid("6484567890123456"));
assertTrue("Length 16-65", regex.isValid("6534567890123456"));
- assertFalse("Length 17-6011", regex.isValid("60115678901234567"));
assertFalse("Length 17-65", regex.isValid("65345678901234567"));
assertFalse("Length 18-6011", regex.isValid("601156789012345678"));
assertFalse("Length 18-65", regex.isValid("653456789012345678"));