Generic helpers for card number, expiry and CVV validations
Import the library and initialize card object.
Install from npm:
npm i @juspay/simple-card-validator --save
var cardValidator = require('simple-card-validator');
Or, you can simply use the file from dist/validator.js if you are not using node/npm.
var card = new cardValidator('4242-4242-4242-4242');
card.getCardDetails(); This would output, card brand and different validation outputs like below:
{ card_type: 'visa', valid: true, luhn_valid: true, length_valid: true, cvv_length: [ 3 ], gaps: [ 4, 8, 12 ], supported_lengths: [ 16 ], max_length: 16 } | Field | Description | Type |
|---|---|---|
| card_type | The card issuer for the provided card | String |
| valid | Are the card details valid | Boolean |
| luhn_valid | Is the card number valid | Boolean |
| length_valid | If the card number length is valid | Boolean |
| cvv_length | If the CVV/CAVV length is valid | Array [ Integer ] |
| gaps | Gaps for UI as printed in cards | Array [ Integer ] |
| supported_lengths | Supported lengths for the card type | Array [ Integer ] |
| max_length | Maximum length for the card type | Integer |
To simply validate a card, call: card.validateCard(); The result will be a validity boolean.
For validating expiry date, card.validateExpiry('12/2018');
Additionally, the base date can be set for expiry validations. The base month and date can be provided by using, card.setBaseDate(month, year);
eg: card.setBaseDate('02', '2016');
For validating CVV, use: card.validateCvv(111); CVV will be validated based on the brand of the card.
Read through the development guidelines.
MIT license. Copyright © 2018 - juspay.in.