developer22-card-validator
v1.0.2
Published
Simple and fast credit card validation library
Maintainers
Readme
developer22-card-validator
Simple and fast credit card validation library with TypeScript support.
Features
- 🚀 Fast and lightweight
- ✅ Luhn algorithm validation
- 🎯 Card type detection (Visa, Mastercard, Amex, etc.)
- 💳 Card number formatting
- 📦 Zero dependencies
- 🔷 Full TypeScript support
Installation
npm install developer22-card-validatoror
yarn add developer22-card-validatorUsage
Basic Validation
import { validateCard } from 'developer22-card-validator';
const result = validateCard('4532015112830366');
console.log(result);
// {
// isValid: true,
// cardType: 'Visa',
// message: 'Card is valid'
// }Get Card Information
import { getCardInfo } from 'developer22-card-validator';
const info = getCardInfo('4532015112830366');
console.log(info);
// {
// type: 'Visa',
// formatted: '4532 0151 1283 0366'
// }Individual Functions
import {
luhnCheck,
detectCardType,
formatCardNumber,
} from 'developer22-card-validator';
// Validate using Luhn algorithm
const isValid = luhnCheck('4532015112830366'); // true
// Detect card type
const cardType = detectCardType('4532015112830366'); // 'Visa'
// Format card number
const formatted = formatCardNumber('4532015112830366'); // '4532 0151 1283 0366'Supported Card Types
- Visa
- Mastercard
- American Express
- Discover
- Diners Club
- JCB
- Maestro
API
validateCard(cardNumber: string): CardValidationResult
Validates a credit card number and returns detailed validation result.
Parameters:
cardNumber- The card number to validate (can include spaces)
Returns:
{
isValid: boolean;
cardType: string | null;
message: string;
}getCardInfo(cardNumber: string): CardInfo
Gets card type and formatted number.
Parameters:
cardNumber- The card number to analyze
Returns:
{
type: string | null;
formatted: string;
}luhnCheck(cardNumber: string): boolean
Validates a card number using the Luhn algorithm.
detectCardType(cardNumber: string): string | null
Detects the card type based on the card number.
formatCardNumber(cardNumber: string): string
Formats a card number with spaces for better readability.
Development
Build
npm run buildTest
npm testPublish
npm publishLicense
MIT License - see the LICENSE file for details.
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Testing Credit Card Numbers
For testing purposes, you can use these valid test card numbers:
- Visa:
4532015112830366 - Mastercard:
5425233430109903 - American Express:
374245455400126
⚠️ Note: Never use real credit card numbers for testing!
