Giter Club home page Giter Club logo

cardtype's Introduction

CardType.js v0.3.0

An AMD compatible credit card validaton and type checking component.

Build Status

Install

Install via Bower:

bower install cardtype -S

Demo

View the demo

Usage

AMD

CardType has AMD (Asynchronous Module Definition) support.

var CardType = require('cardtype');
var card = new CardType();
card.validate('4000000000000002');
//=> { valid: true, validLength: true, isValidLuhn: true, cardType: 'visa' }

Global

If you are not using AMD then CardType is exposed as a global variable.

<script src='/path/to/cardtype.js'></script>
<script>
    var card = new CardType();
    CardType.validate('4000000000000002');
    //=> { valid: true, validLength: true, isValidLuhn: true, cardType: 'visa' }
</script>

Accepted card types

An optional accepted cards array can be passed to the constuctor to restrict which cards are validated:

var card = new CardType([ 'amex', 'discover' ]);
card.validate('6011000000000004'); // Discover
//=> { valid: true, validLength: true, isValidLuhn: true, cardType: 'discover' }
card.validate('4000000000000002'); // Visa
//=> false

All accepted card types

  • American Express (amex)
  • Diners Club Carte Blance (diners_club_carte_blanche)
  • Diners Club International (diners_club_international)
  • Discover (discover)
  • JCB (jcb)
  • Laser (laser)
  • Maestro (maestro)
  • MasterCard (mastercard)
  • Visa (visa)
  • Visa Electron (visa_electron)

API

.validate( number )

var card = new CardType();
card.validate('4000000000000002');
//=> { valid: true, validLength: true, isValidLuhn: true, cardType: 'visa' }

.isValid( number )

var card = new CardType();
card.isValid('4000000000000002');
//=> true

.isValidLuhn( number )

var card = new CardType();
card.isValidLuhn('4000000000000002');
//=> true

.isValidLength( number, cardType )

var card = new CardType();
var type = card.getType('4000000000000002');
card.isValidLength('4000000000000002', type);
//=> true

.normalize()

var card = new CardType();
card.normalize('4000-0000-0000-0002');
//=> 4000000000000002

.getType()

var card = new CardType();
card.getType('4000000000000002');
//=> { name: 'visa', pattern: /^4/, validLength: [16] }

License

CC BY-SA 3.0

cardtype's People

Contributors

davidrapson avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.