laravel-validation-rules / credit-card
验证信用卡号码、到期日期、CVC
1.9.0
2024-04-08 05:23 UTC
Requires
- php: 7.*|8.*
- illuminate/support: ^5.5|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
- illuminate/translation: ^5.5|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
- illuminate/validation: ^5.5|^6.0|^7.0|^8.0|^9.0|^10.0|^11.0
Requires (Dev)
- friendsofphp/php-cs-fixer: ~2.5|^3.14
- orchestra/testbench: ^3.5|^4.0|^5.0|^8.0|^9.0
- phpunit/phpunit: 6.2.*|^8.5.8|^9.3.3|^10.5
README
此规则将验证给定的信用卡 号码、到期日期 或 CVC 是否有效。
安装
composer require laravel-validation-rules/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 许可协议,您可以在 此LICENSE文件 中找到。
反馈
如果您有任何反馈、评论或建议,请随时在此存储库中打开一个问题!