samyan/bankcard-validator

PHP 银行卡验证器

1.1 2020-12-04 14:40 UTC

This package is auto-updated.

Last update: 2024-09-19 19:24:53 UTC


README

Latest Stable Version Total Downloads License

验证借记卡和信用卡号码是否符合正则表达式和Luhn算法,适用于 PHP 7.0+,同时验证CVC和安全有效期。本项目基于并受到inacho/php-credit-card-validator的启发。

安装

composer.json 中要求此包

"require": {
    "samyan/bankcard-validator": "1.*"
},

实际支持的银行卡

借记卡

  • Visa Electron
  • Maestro
  • Forbrugsforeningen
  • Dankort

信用卡

  • Visa
  • Mastercard
  • Amex
  • Diners Club
  • Discover
  • UnionPay
  • JCB (日本信用局)
  • Elo
  • Hipercard
  • Mir
  • UATP (通用航空旅行计划)
  • RuPay

用法

已知类型验证卡片号码

$card = BankCard::validateCardNumber('5500005555555559', 'mastercard');
print_r($card);

输出

Array
(
    [valid] => 1
    [number] => 5500005555555559
    [type] => mastercard
)

验证卡片号码并返回类型

$card = BankCard::validateCardNumber('371449635398431');
print_r($card);

输出

Array
(
    [valid] => 1
    [number] => 371449635398431
    [type] => amex
)

验证CVC

$validCvc = BankCard::isValidCvc('234', 'visa');
var_dump($validCvc);

输出

bool(true)

验证有效期

$validDate = BankCard::isValidDate('2013', '07'); // past date
var_dump($validDate);

输出

bool(false)