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 and 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
Augmented to support Visa Carte Blue used in France
|
Modifier and Type | Field and 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 and Description |
---|
CreditCardValidator()
Create a new CreditCardValidator with default options.
|
CreditCardValidator(int options)
Create a new CreditCardValidator with the specified options.
|
Modifier and Type | Method and 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