Back to Validation

CreditCard

docs/validators/CreditCard.md

3.1.13.4 KB
Original Source
<!-- SPDX-License-Identifier: MIT SPDX-FileCopyrightText: (c) Respect Project Contributors SPDX-FileContributor: Alexandre Gomes Gaigalas <[email protected]> SPDX-FileContributor: Henrique Moody <[email protected]> SPDX-FileContributor: Rakshit <[email protected]> SPDX-FileContributor: William Espindola <[email protected]> -->

CreditCard

  • CreditCard()
  • CreditCard(string $brand)

Validates a credit card number.

php
v::creditCard()->assert('5376 7473 9720 8720');
// Validation passes successfully

v::creditCard()->assert('5376-7473-9720-8720');
// Validation passes successfully

v::creditCard()->assert('5376.7473.9720.8720');
// Validation passes successfully

v::creditCard('American Express')->assert('340316193809364');
// Validation passes successfully

v::creditCard('Diners Club')->assert('30351042633884');
// Validation passes successfully

v::creditCard('Discover')->assert('6011000990139424');
// Validation passes successfully

v::creditCard('JCB')->assert('3566002020360505');
// Validation passes successfully

v::creditCard('MasterCard')->assert('5376747397208720');
// Validation passes successfully

v::creditCard('Visa')->assert('4024007153361885');
// Validation passes successfully

v::creditCard('RuPay')->assert('6062973831636410');
// Validation passes successfully

The current supported brands are:

  • American Express ('American_Express' or CreditCard::AMERICAN_EXPRESS)
  • Diners Club ('Diners_Club' or CreditCard::DINERS_CLUB)
  • Discover ('Discover' or CreditCard::DISCOVER)
  • JCB ('JCB' or CreditCard::JCB)
  • Mastercard ('American_Express' or CreditCard::MASTERCARD)
  • Visa ('Visa' or CreditCard::VISA)
  • RuPay ('RuPay' or CreditCard::RUPAY)

It ignores any non-numeric characters, use Digit, Spaced, or Regex when appropriate.

php
v::digit()->creditCard()->assert('5376747397208720');
// Validation passes successfully

Templates

CreditCard::TEMPLATE_STANDARD

ModeTemplate
default{{subject}} must be a credit card number
inverted{{subject}} must not be a credit card number

CreditCard::TEMPLATE_BRANDED

ModeTemplate
default{{subject}} must be a {{brand|raw}} credit card number
inverted{{subject}} must not be a {{brand|raw}} credit card number

Template placeholders

PlaceholderDescription
brand
subjectThe validated input or the custom validator name (if specified).

Categorization

  • Banking

Changelog

VersionDescription
3.0.0Templates changed
2.2.4RuPay is now supported as a brand
1.1.0Allow the define credit card brand
0.3.9Created

See Also