Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## 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.

Since:
  Validator 1.1
Version:
  $Revision: 478334 $ $Date: 2006-11-22 21:31:54 +0000 (Wed, 22 Nov 2006) $

Inner Class Summary
`static interface` | `CreditCardValidator.CreditCardType` CreditCardType implementations define how validation is performed for one type/brand of credit card.

Field Summary
`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.

Constructor Summary
`CreditCardValidator()` Create a new CreditCardValidator with default options.
`CreditCardValidator(int options)` Create a new CreditCardValidator with the specified options.

Method Summary
`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.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### 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);

  Since:
    Validator 1.1.2

### AMEX

    public static final int AMEX

  Option specifying that American Express cards are allowed.

### VISA

    public static final int VISA

  Option specifying that Visa cards are allowed.

### MASTERCARD

    public static final int MASTERCARD

  Option specifying that Mastercard cards are allowed.

### DISCOVER

    public static final int DISCOVER

  Option specifying that Discover cards are allowed.

Constructor Detail

### CreditCardValidator

    public CreditCardValidator()

  Create a new CreditCardValidator with default options.

### CreditCardValidator

    public CreditCardValidator(int options)

  Create a new CreditCardValidator with the specified options.
  Parameters:
    `options` - Pass in CreditCardValidator.VISA + CreditCardValidator.AMEX to specify that those are the only valid card types.

Method Detail

### isValid

    public boolean isValid(java.lang.String card)

  Checks if the field is a valid credit card number.
  Parameters:
    `card` - The card number to validate.
  Returns:
    Whether the card number is valid.

### addAllowedCardType

    public void addAllowedCardType(CreditCardValidator.CreditCardType type)

  Add an allowed CreditCardType that participates in the card validation algorithm.
  Parameters:
    `type` - The type that is now allowed to pass validation.
  Since:
    Validator 1.1.2

### luhnCheck

    protected boolean luhnCheck(java.lang.String cardNumber)

  Checks for a valid credit card number.
  Parameters:
    `cardNumber` - Credit Card Number.
  Returns:
    Whether the card number passes the luhnCheck.

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2002-2006 The Apache Software Foundation. All Rights Reserved.