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 170e7e768..12047ddba 100644 --- a/src/main/java/org/apache/commons/validator/routines/CreditCardValidator.java +++ b/src/main/java/org/apache/commons/validator/routines/CreditCardValidator.java @@ -204,6 +204,13 @@ public CreditCardRange(final String low, final String high, final int [] lengths @Deprecated public static final long MASTERCARD_PRE_OCT2016 = 1 << 6; // CHECKSTYLE IGNORE MagicNumber + /** + * Option specifying that JCB cards are allowed. + * + * @since 1.12.0 + */ + public static final long JCB = 1 << 7; // CHECKSTYLE IGNORE MagicNumber + /** * Luhn checkdigit validator for the card numbers. */ @@ -242,6 +249,16 @@ public CreditCardRange(final String low, final String high, final int [] lengths /** Discover Card Validator */ public static final CodeValidator DISCOVER_VALIDATOR = new CodeValidator(DISCOVER_REGEX, LUHN_VALIDATOR); + /** + * JCB Card Validator + * + * + * @since 1.12.0 + */ + public static final CodeValidator JCB_VALIDATOR = new CodeValidator("^(35(?:2[89]|[3-8]\\d)\\d{12,15})$", LUHN_VALIDATOR); + /** * Mastercard regular expressions *