engeni / credit-card
验证信用卡号、到期日期、cvv
dev-master
2023-05-18 14:36 UTC
Requires
- php: 8.*
- illuminate/support: ^9.0|^10.0
- illuminate/translation: ^9.0|^10.0
- illuminate/validation: ^9.0|^10.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.14
- orchestra/testbench: ^8.0
- phpunit/phpunit: ^9.3.3
- rector/rector: ^0.15.25
This package is auto-updated.
Last update: 2024-09-18 17:33:27 UTC
README
关于此分支
此分支将 Tarjeta Naranja 添加到信用卡验证器的列表中。
在此处检查原始包:https://github.com/laravel-validation-rules/credit-card。
因此,保留从原始包中的命名空间 LVR\CreditCard
。
简介
此规则将验证给定的信用卡 号码、到期日期 或 cvv 是否有效。
它验证以下信用卡列表
- 美国运通
- Cabal
- 大都会俱乐部
- Discover
- Hipercard
- 万事达卡
- JCB
- Mir
- Tarjeta Naranja
- Troy
- 银联
- Visa
以下借记卡
- Forbrugsforeningen
- Dankort
- Maestro
- Visa Electron
安装
composer require engeni/credit-card
用法
作为 FormRequest
<?php
namespace App\Http\Requests;
use LVR\CreditCard\CardCvc;
use LVR\CreditCard\CardNumber;
use LVR\CreditCard\CardExpirationYear;
use LVR\CreditCard\CardExpirationMonth;
use Illuminate\Foundation\Http\FormRequest;
class CreditCardRequest extends FormRequest
{
/**
* Get the validation rules that apply to the request.
*
* @return array
*/
public function rules()
{
return [
'card_number' => ['required', new CardNumber],
'expiration_year' => ['required', new CardExpirationYear($this->get('expiration_month'))],
'expiration_month' => ['required', new CardExpirationMonth($this->get('expiration_year'))],
'cvc' => ['required', new CardCvc($this->get('card_number'))]
];
}
}
卡号
来自请求
$request->validate(
['card_number' => '37873449367100'],
['card_number' => new LVR\CreditCard\CardNumber]
);
直接
(new LVR\CreditCard\Cards\Visa)
->setCardNumber('4012888888881881')
->isValidCardNumber()
卡到期日
来自请求
// CardExpirationYear requires card expiration month
$request->validate(
['expiration_year' => '2017'],
['expiration_year' => ['required', new LVR\CreditCard\CardExpirationYear($request->get('expiration_month'))]]
);
// CardExpirationMonth requires card expiration year
$request->validate(
['expiration_month' => '11'],
['expiration_month' => ['required', new LVR\CreditCard\CardExpirationMonth($request->get('expiration_year'))]]
);
// CardExpirationDate requires date format
$request->validate(
['expiration_date' => '02-18'],
['expiration_date' => ['required', new LVR\CreditCard\CardExpirationDate('my')]]
);
直接
LVR\CreditCard\Cards\ExpirationDateValidator(
$expiration_year,
$expiration_month
)->isValid();
// Or static
LVR\CreditCard\Cards\ExpirationDateValidator::validate(
$expiration_year,
$expiration_month
);
卡 CVC
来自请求
// CardCvc requires card number to determine allowed cvc length
$request->validate(
['cvc' => '123'],
['cvc' => new LVR\CreditCard\CardCvc($request->get('card_number'))]
);
直接
LVR\CreditCard\Cards\Card::isValidCvcLength($cvc);
许可证
本项目采用 Apache 2.0 许可证,您可以在 此处 找到。
反馈
如果您有任何反馈、评论或建议,请随时在此存储库中打开一个问题!