org.apache.commons.validator
Class CreditCardValidator
java.lang.Object
org.apache.commons.validator.CreditCardValidator
public class CreditCardValidator
extends java.lang.Object
Perform credit card validations.
By default, all supported card types are allowed. You can specify which
cards should pass validation by configuring the validation options. For
example,
CreditCardValidator ccv = new CreditCardValidator(CreditCardValidator.AMEX + CreditCardValidator.VISA);
configures the validator to only pass American Express and Visa cards.
If a card type is not directly supported by this class, you can implement
the CreditCardType interface and pass an instance into the
addAllowedCardType
method.
For a similar implementation in Perl, reference Sean M. Burke's
script.
More information is also available
here.
$Revision: 478334 $ $Date: 2006-11-22 21:31:54 +0000 (Wed, 22 Nov 2006) $
static int | AMEX - Option specifying that American Express cards are allowed.
|
static int | DISCOVER - Option specifying that Discover cards are allowed.
|
static int | MASTERCARD - Option specifying that Mastercard cards are allowed.
|
static int | NONE - Option specifying that no cards are allowed.
|
static int | VISA - Option specifying that Visa cards are allowed.
|
private Collection | cardTypes - The CreditCardTypes that are allowed to pass validation.
|
AMEX
public static final int AMEX
Option specifying that American Express cards are allowed.
DISCOVER
public static final int DISCOVER
Option specifying that Discover cards are allowed.
MASTERCARD
public static final int MASTERCARD
Option specifying that Mastercard cards are allowed.
NONE
public static final int NONE
Option specifying that no cards are allowed. This is useful if
you want only custom card types to validate so you turn off the
default cards with this option.
CreditCardValidator v = new CreditCardValidator(CreditCardValidator.NONE);
v.addAllowedCardType(customType);
v.isValid(aCardNumber);
VISA
public static final int VISA
Option specifying that Visa cards are allowed.
cardTypes
private Collection cardTypes
The CreditCardTypes that are allowed to pass validation.
CreditCardValidator
public CreditCardValidator()
Create a new CreditCardValidator with default options.
CreditCardValidator
public CreditCardValidator(int options)
Create a new CreditCardValidator with the specified options.
options
- Pass in
CreditCardValidator.VISA + CreditCardValidator.AMEX to specify that
those are the only valid card types.
addAllowedCardType
public void addAllowedCardType(CreditCardValidator.CreditCardType type)
Add an allowed CreditCardType that participates in the card
validation algorithm.
type
- The type that is now allowed to pass validation.
isValid
public boolean isValid(String card)
Checks if the field is a valid credit card number.
card
- The card number to validate.
- Whether the card number is valid.
luhnCheck
protected boolean luhnCheck(String cardNumber)
Checks for a valid credit card number.
cardNumber
- Credit Card Number.
- Whether the card number passes the luhnCheck.
Copyright (c) 2001-2004 Apache Software Foundation