cebugle / laravel-credit-card-rule
验证信用卡号、到期日期、CVC
v2.0.0
2024-03-18 06:34 UTC
Requires
- php: ^8.1
- illuminate/support: ^11.0
- illuminate/translation: ^11.0
- illuminate/validation: ^11.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ~3.14
- orchestra/testbench: ^9.0
- phpunit/phpunit: ^11.0
This package is auto-updated.
Last update: 2024-09-18 07:46:09 UTC
README
本规则将验证给定的信用卡号码、到期日期或CVC是否有效。
安装
composer require cebugle/laravel-credit-card-rule
用法
作为FormRequest使用
<?php namespace App\Http\Requests; use Cebugle\CreditCard\CardCvc; use Cebugle\CreditCard\CardNumber; use Cebugle\CreditCard\CardExpirationYear; use Cebugle\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 Cebugle\CreditCard\CardNumber] );
直接
(new Cebugle\CreditCard\Cards\Visa) ->setCardNumber('4012888888881881') ->isValidCardNumber()
卡到期日期
从请求中获取
// CardExpirationYear requires card expiration month $request->validate( ['expiration_year' => '2017'], ['expiration_year' => ['required', new Cebugle\CreditCard\CardExpirationYear($request->get('expiration_month'))]] ); // CardExpirationMonth requires card expiration year $request->validate( ['expiration_month' => '11'], ['expiration_month' => ['required', new Cebugle\CreditCard\CardExpirationMonth($request->get('expiration_year'))]] ); // CardExpirationDate requires date format $request->validate( ['expiration_date' => '02-18'], ['expiration_date' => ['required', new Cebugle\CreditCard\CardExpirationDate('my')]] );
直接
Cebugle\CreditCard\Cards\ExpirationDateValidator( $expiration_year, $expiration_month )->isValid(); // Or static Cebugle\CreditCard\Cards\ExpirationDateValidator::validate( $expiration_year, $expiration_month );
卡CVC
从请求中获取
// CardCvc requires card number to determine allowed cvc length $request->validate( ['cvc' => '123'], ['cvc' => new Cebugle\CreditCard\CardCvc($request->get('card_number'))] );
直接
Cebugle\CreditCard\Cards\Card::isValidCvcLength($cvc);
许可证
本项目采用Apache 2.0许可证,您可以在以下LICENSE文件中找到。
反馈
如果您有任何反馈、评论或建议,请随时在此存储库中打开一个问题!