Author: mrdon Date: Sun Aug 14 14:19:39 2005 New Revision: 232646 URL: http://svn.apache.org/viewcvs?rev=232646&view=rev Log: Adding support for the Visa Carte Blue used in France to the credit card validator PR: 35926
Modified: jakarta/commons/proper/validator/trunk/src/share/org/apache/commons/validator/CreditCardValidator.java jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/CreditCardValidatorTest.java Modified: jakarta/commons/proper/validator/trunk/src/share/org/apache/commons/validator/CreditCardValidator.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/validator/trunk/src/share/org/apache/commons/validator/CreditCardValidator.java?rev=232646&r1=232645&r2=232646&view=diff ============================================================================== --- jakarta/commons/proper/validator/trunk/src/share/org/apache/commons/validator/CreditCardValidator.java (original) +++ jakarta/commons/proper/validator/trunk/src/share/org/apache/commons/validator/CreditCardValidator.java Sun Aug 14 14:19:39 2005 @@ -205,15 +205,19 @@ } + /** + * Augmented to support Visa Carte Blue used in France + */ private class Visa implements CreditCardType { - private static final String PREFIX = "4"; + private static final String PREFIX = "4,5,"; public boolean matches(String card) { - return ( - card.substring(0, 1).equals(PREFIX) - && (card.length() == 13 || card.length() == 16)); + + String prefix2 = card.substring(0, 1) + ","; + return ((PREFIX.indexOf(prefix2) != -1) + && (card.length() == 13 || card.length() == 16)); } - } - + } + private class Amex implements CreditCardType { private static final String PREFIX = "34,37,"; public boolean matches(String card) { Modified: jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/CreditCardValidatorTest.java URL: http://svn.apache.org/viewcvs/jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/CreditCardValidatorTest.java?rev=232646&r1=232645&r2=232646&view=diff ============================================================================== --- jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/CreditCardValidatorTest.java (original) +++ jakarta/commons/proper/validator/trunk/src/test/org/apache/commons/validator/CreditCardValidatorTest.java Sun Aug 14 14:19:39 2005 @@ -29,6 +29,7 @@ public class CreditCardValidatorTest extends TestCase { private static final String VALID_VISA = "4417123456789113"; + private static final String VALID_VISA_OTHER = "5817550003933609"; private static final String VALID_SHORT_VISA = "4222222222222"; private static final String VALID_AMEX = "378282246310005"; private static final String VALID_MASTERCARD = "5105105105105100"; @@ -52,6 +53,7 @@ assertFalse(ccv.isValid("4417123456789112")); assertFalse(ccv.isValid("4417q23456w89113")); assertTrue(ccv.isValid(VALID_VISA)); + assertTrue(ccv.isValid(VALID_VISA_OTHER)); assertTrue(ccv.isValid(VALID_SHORT_VISA)); assertTrue(ccv.isValid(VALID_AMEX)); assertTrue(ccv.isValid(VALID_MASTERCARD)); --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]