SwiftLuhn
这是Luhn算法的一个移值,通常用于验证借记卡/信用卡详细信息,用Swift编写。
SwiftLuhn的HEAD是用Swift 4编写的。如果您的项目还不支持Swift 4,请使用0.2.1标签。
Objective-C移值可在https://github.com/MaxKramer/ObjectiveLuhn找到。
用法
要运行示例项目,首先将仓库克隆,然后从Example目录中运行pod install
。
安装
SwiftLuhn可以通过CocoaPods或Carthage(使用或不需要使用我们的预建二进制文件)获得。
要安装它,只需将以下行添加到您的Podfile
pod "SwiftLuhn" # use '0.2.1' for Swift 3.X
或者换句话说,将以下行添加到您的Cartfile中
github "MaxKramer/SwiftLuhn"
用法
验证
调用将抛出异常 SwiftLuhn.CardError
的类方法,如果卡无效。
let cardNumber = "378282246310005"
do {
try SwiftLuhn.performLuhnAlgorithm(with: cardNumber)
// process payment
}
catch {
// invalid, alert user
}
或者,您可以使用 String
类别
let isValid = cardNumber.isValidCardNumber()
卡类型
您还可以获取正在使用的卡的类型,这将属于以下之一
卡类型 |
---|
美国运通 |
visa |
mastercard |
发现 |
Diner's Club |
JCB |
do {
let cardType = try SwiftLuhn.cardType(of: cardNumber)
}
catch {
// card is invalid
}
单元测试
要运行单元测试套件,请打开示例项目并按 CMD + U。
资料
名称 | 网站 | 原因 |
---|---|---|
Paypal | http://www.paypalobjects.com/en_US/vhelp/paypalmanager_help/credit_card_numbers.htm | 单元测试的有效信用卡号列表 |
作者
Max Kramer, [email protected], @maxkramer
许可证
SwiftLuhn 根据MIT许可证提供。有关更多信息,请参阅LICENSE文件。