credit_card_type_detector | 信用卡类型检测器
一个 Dart 包,根据当前的信用卡号模式检测信用卡类型。
这是从Braintree的credit-card-type模块移植的

安装
-
将依赖项添加到您的
pubspec.yaml在pub.dartlang.org的“安装”标签页中获取当前版本
dependencies:
credit_card_type_detector: ^1.0.2
- 导入包
import 'package:credit_card_type_detector/credit_card_type_detector.dart';
用法
import 'package:credit_card_type_detector/credit_card_type_detector.dart';
String visa = "4647 7200 6779 1032";
var type = detectCCType(visa);
assert(type == CreditCardType.visa)
查看示例应用程序,位于example目录中,或者查看pub.dartlang.org上的“示例”标签页,了解使用BLoC模式的更完整示例
特点
无外部依赖
支持的卡片
* Visa
* Mastercard
* American Express
* Discover
* Diners Club
* JCB
* Union Pay
* Maestro
* Mir
* Elo
* Hiper/Hipercard
模式检测
每种卡片类型都有相应的模式列表。请参阅cardNumPatterns映射。
每种模式都是一个字符串数组,代表一个数字范围或单个数字。这些数字对应于信用卡公司的发行商识别号(IIN)。
如果模式是包含单个数字的数组,则将该模式与卡号进行比较。即使卡号比模式短,部分匹配也会成功。例如,给定模式123,卡号1、12、123、1234都将匹配,但2、13和124不会匹配。
如果模式是数字数组,则会检查卡号是否在该数字范围内。同样,接受部分匹配。例如,给定范围[100, 123],卡号1、10、100、12、120、123都将匹配,但2、13和124不会匹配。
该软件包会遍历每种卡片类型及其对应的所有模式。
API
detectCCType(String number)
返回:一个
CreditCardType枚举。
例如,对于任何以'4'开头的卡号,返回CreditCardType.visa。
作者
Tanner Davis (Cholojuanito) - 创作者和仓库所有者 - Github个人资料