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.
Modifier and Type | Class | Description |
---|---|---|
private class |
CreditCardValidator.Amex |
|
static interface |
CreditCardValidator.CreditCardType |
CreditCardType implementations define how validation is performed
for one type/brand of credit card.
|
private class |
CreditCardValidator.Discover |
|
private class |
CreditCardValidator.Mastercard |
|
private class |
CreditCardValidator.Visa |
Change to support Visa Carte Blue used in France
has been removed - see Bug 35926
|
Modifier and Type | Field | Description |
---|---|---|
static int |
AMEX |
Option specifying that American Express cards are allowed.
|
private java.util.Collection |
cardTypes |
The CreditCardTypes that are allowed to pass validation.
|
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.
|
Constructor | Description |
---|---|
CreditCardValidator() |
Create a new CreditCardValidator with default options.
|
CreditCardValidator(int options) |
Create a new CreditCardValidator with the specified options.
|
Modifier and Type | Method | Description |
---|---|---|
void |
addAllowedCardType(CreditCardValidator.CreditCardType type) |
Add an allowed CreditCardType that participates in the card
validation algorithm.
|
boolean |
isValid(java.lang.String card) |
Checks if the field is a valid credit card number.
|
protected boolean |
luhnCheck(java.lang.String cardNumber) |
Checks for a valid credit card number.
|
public static final int NONE
CreditCardValidator v = new CreditCardValidator(CreditCardValidator.NONE); v.addAllowedCardType(customType); v.isValid(aCardNumber);
public static final int AMEX
public static final int VISA
public static final int MASTERCARD
public static final int DISCOVER
private java.util.Collection cardTypes
public CreditCardValidator()
public CreditCardValidator(int options)
options
- Pass in
CreditCardValidator.VISA + CreditCardValidator.AMEX to specify that
those are the only valid card types.public boolean isValid(java.lang.String card)
card
- The card number to validate.public void addAllowedCardType(CreditCardValidator.CreditCardType type)
type
- The type that is now allowed to pass validation.protected boolean luhnCheck(java.lang.String cardNumber)
cardNumber
- Credit Card Number.Copyright (c) 2001-2004 Apache Software Foundation