designbycode/credit-card-validator

信用卡验证器包提供一组用于验证信用卡号码、到期日期和CVV代码的类。此包旨在帮助您确保用户提供的信用卡信息有效且准确。

v1.0.2 2024-07-20 19:07 UTC

README

Latest Version on Packagist Tests Total Downloads

简介

信用卡验证器包提供一组用于验证信用卡号码、到期日期和CVV代码的类。此包旨在帮助您确保用户提供的信用卡信息有效且准确。

安装

您可以通过composer安装此包

composer require designbycode/credit-card-validator

使用

CreditCardValidator

CreditCardValidator 类用于验证信用卡号码。

构造函数

__construct(string $cardNumber)

$cardNumber: 要验证的信用卡号码。

方法

  • isValid(): bool: 如果信用卡号码有效则返回true,否则返回false。
  • getCardType(): ?string: 返回卡片类型(amex、diners、visa、mastercard、discover或未知时返回null)。
$card = new CreditCardValidator('4111 1111 1111 1111');
if ($card->isValid()) {
    echo 'Credit card number is valid';
} else {
    echo 'Credit card number is invalid';
}

ExpiryDateValidator

ExpiryDateValidator 类用于验证信用卡的到期日期。

构造函数

__construct(int $expiryMonth, int $expiryYear)

  • $expiryMonth: 到期月份(1-12)。
  • $expiryYear: 到期年份(YYYY)。

方法

  • isValid(): bool: 如果到期日期有效则返回true,否则返回false。
$validator = new ExpiryDateValidator(12, 2025);
if ($validator->isValid()) {
    echo 'Expiry date is valid';
} else {
    echo 'Expiry date is invalid';
}

CvvValidator

CvvValidator 类用于验证CVV(卡验证值)代码。

构造函数

__construct(string $cvv, string $cardType)

  • $cvv: 要验证的CVV代码。
  • $cardType: 卡片类型(amex、visa、mastercard等)。

方法

  • isValid(): bool: 如果CVV代码有效则返回true,否则返回false。
$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

变更日志

有关最近更改的更多信息,请参阅变更日志

贡献

有关详细信息,请参阅贡献指南

安全漏洞

请参阅我们的安全策略,了解如何报告安全漏洞。

鸣谢

许可协议

MIT许可(MIT)。有关更多信息,请参阅许可文件