malith124 / validate-credit-card
PHP 和 Laravel 信用卡验证器
1.0
2024-09-03 18:55 UTC
Requires
- php: ^8.0
- lib-pcre: *
- illuminate/support: ^9.0
Requires (Dev)
- phpunit/phpunit: ~9.3
README
验证流行的借记卡和信用卡卡号是否符合正则表达式和Luhn算法。同时验证CVC和过期日期。提供Laravel的最小验证规则
免责声明
这里所有的代码都来自2个仓库-
- https://github.com/rap2hpoutre/laravel-credit-card-validator/
- https://github.com/inacho/php-credit-card-validator/
它们应该能满足你的需求。我不得不创建这个包来解决一些非常具体的需要。
安装
通过 composer 安装
composer require r4kib/validate-credit-card
将服务提供者添加到 config/app.php
中的 providers
部分
R4kib\ValidateCreditCard\ServiceProvider::class,
PHP 使用方法
知道类型验证卡号
$card = CreditCard::validCreditCard('5500005555555559', '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', 'visa'); var_dump($validCvc);
输出
bool(true)
验证过期日期
$validDate = CreditCard::validDate('2013', '07'); // past date var_dump($validDate);
输出
bool(false)
Laravel 使用方法
将其添加到你的验证规则中
// Add this in your controller method $this->validate($request, [ 'credit-card-number' => 'required|ccn', 'credit-card-date' => 'required|ccd', 'credit-validation-code' => 'required|cvc', ]);
测试
执行以下命令以运行单元测试:vendor/bin/phpunit