selay/php-credit-card-validator

验证流行的借记卡和信用卡号码是否与正则表达式和Luhn算法匹配。同时验证CVC和有效期。

4.0 2021-06-09 00:35 UTC

README

验证流行的借记卡和信用卡号码是否与正则表达式和Luhn算法匹配。同时验证CVC和有效期。

由于原始项目似乎已被放弃,因此创建了此分支以支持其他具有兼容命名空间(如rap2hpoutre/laravel-credit-card-validator,该分支也似乎已被放弃)的现有仓库。我将其分支到selay/laravel-credit-card-validator

需求

PHP 7.0+。

composer.json 中要求此包

"require": {
    "selay/php-credit-card-validator": "4.*"
},

用法

已知类型的卡号验证

$card = CreditCard::validCreditCard('5500005555555559', CreditCard::TYPE_MASTERCARD);
print_r($card);

输出

Array
(
    [valid] => 1
    [number] => 5500005555555559
    [type] => mastercard
)

对多个类型进行卡号验证

$card = CreditCard::validCreditCard('5500005555555559', [CreditCard::TYPE_VISA, CreditCard::TYPE_MASTERCARD]);
print_r($card);

输出

Array
(
    [valid] => 1
    [number] => 5500005555555559
    [type] => mastercard
)

验证卡号并返回类型

$card = CreditCard::validCreditCard('371449635398431');
print_r($card);

输出

Array
(
    [valid] => 1
    [number] => 371449635398431
    [type] => amex
)

验证CVC

$validCvc = CreditCard::validCvc('234', CreditCard::TYPE_VISA);
var_dump($validCvc);

输出

bool(true)

验证有效期

$validDate = CreditCard::validDate('2013', '07'); // past date
var_dump($validDate);

输出

bool(false)

测试

执行以下命令以运行单元测试

vendor/bin/phpunit