The Credit Card Validator package provides a set of classes to validate credit card numbers, expiry dates, and CVV codes. This package is designed to help you ensure that the credit card information provided by users is valid and accurate.
You can install the package via composer:
composer require designbycode/credit-card-validator
The CreditCardValidator
class validates a credit card number.
__construct(string $cardNumber)
$cardNumber
: The credit card number to validate.
isValid()
: bool: Returns true if the credit card number is valid, false otherwise.getCardType()
: ?string: Returns the card type (amex, diners, visa, mastercard, discover, or null if unknown).
$card = new CreditCardValidator('4111 1111 1111 1111');
if ($card->isValid()) {
echo 'Credit card number is valid';
} else {
echo 'Credit card number is invalid';
}
The ExpiryDateValidator
class validates the expiry date of a credit card.
__construct(int $expiryMonth, int $expiryYear)
- $expiryMonth: The expiry month (1-12).
- $expiryYear: The expiry year (YYYY).
isValid()
: bool: Returns true if the expiry date is valid, false otherwise.
$validator = new ExpiryDateValidator(12, 2025);
if ($validator->isValid()) {
echo 'Expiry date is valid';
} else {
echo 'Expiry date is invalid';
}
The CvvValidator
class validates a CVV (Card Verification Value) code.
__construct(string $cvv, string $cardType)
- $cvv: The CVV code to validate.
- $cardType: The card type (amex, visa, mastercard, etc.).
isValid()
: bool: Returns true if the CVV code is valid, false otherwise.
$validator = new CvvValidator('123', 'visa');
or
$card = new CreditCardValidator('4111 1111 1111 1111')
$validator = new CvvValidator('123', $card->getCardType());
if ($validator->isValid()) {
echo 'CVV code is valid';
} else {
echo 'CVV code is invalid';
}
composer test
Please see CHANGELOG for more information on what has changed recently.
Please see CONTRIBUTING for details.
Please review our security policy on how to report security vulnerabilities.
The MIT License (MIT). Please see License File for more information.