mmrtonmoybd / credit-card
验证信用卡号、有效期、CVC
2.2
2020-12-07 10:00 UTC
Requires
- php: ^7.3|^8.0
- illuminate/translation: ^8.0
- illuminate/validation: ^8.0
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_month' => ['required', new LVR\CreditCard\CardExpirationDate('m-y')]] );
直接
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 文件中找到。
反馈
如果您有任何反馈、评论或建议,请随时在此存储库中打开一个问题!