CCValidator 1.2.0

CCValidator 1.2.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布最后发布2020年4月
SPM支持 SPM

Mariusz WisniewskiMariusz GraczkowskiCezaryBielecki 维护。



  • Mariusz Wisniewski

CCValidator💳💰💻

BuddyBuild Version License Platform

CCValidator(我们对这个独特的名字感到非常自豪😉)提供对信用卡号码输入的验证。

  • 使用 Luhn 算法 验证卡片号码,
  • 在用户提供完整的卡号之前检测信用卡类型(这样,您可以在用户只输入了16位数字之前就告诉用户您不支持该卡,而不会让他在输完所有数字后才感到沮丧)。

与其他现有的验证库不同,这个库不使用正则表达式。它受到了 CreditCardJS 的启发,其目的是提供一个清晰的代码,这个代码不需要了解正则表达式--每个人都应该能够轻松地读取和修改验证代码。

此外,能够从只有第一位数字中检测可能的卡类型,让您可以提前失败。

示例

此 pod 不包含示例应用程序,但 测试 应该显示了如何正确使用它。

要运行示例项目,请克隆仓库,然后从 Example 目录中首先运行 pod install

使用方法

从前缀获取类型

要从卡前缀获取类型,请传递您拥有的信用卡输入(可以是1个字符的字符串)。验证器将将其与它所知的所有类型进行比较,并返回识别的类型,或。NotRecognized

Obj-C

NSString *numberAsString = textField.text;
CreditCardType creditCardType = [CCValidator typeCheckingPrefixOnlyWithCreditCardNumber:cardNumber];
//check if type is e.g. CreditCardTypeVisa, CreditCardTypeMasterCard or CreditCardTypeNotRecognized

Swift

let numberAsString = textField.text
let recognizedType = CCValidator.typeCheckingPrefixOnly(creditCardNumber: numberAsString)
//check if type is e.g. .Visa, .MasterCard or .NotRecognized

验证长度、类型和正确性

您还可以验证长度和类型——例如,如果验证器识别为MasterCard,则不会验证长度不同的信用卡。对于Visa,将允许13、16和19位等等。

此外,它还会使用Luhn算法验证卡号——这样,您只能将看起来正确的卡号传递给您的支付处理器。

Obj-C

NSString *numberAsString = textField.text;
BOOL isFullCardDataOK = [CCValidator validateWithCreditCardNumber:numberAsString];

Swift

let numberAsString = textField.text
let isFullCardDataOK = CCValidator.validate(creditCardNumber: numberAsString)

要求

此Pod无需任何额外的依赖。

安装

CCValidator可通过CocoaPods获取。要安装它,只需将以下行添加到您的Podfile中:

pod "CCValidator"

作者

Mariusz Wisniewski,Digital Forms

许可证

CCValidator 在 MIT 许可下提供。有关更多信息,请参阅 LICENSE 文件。

版本历史

  • 1.2.0 - 2020/04/03
    • 对 Swift 5 进行更新(感谢 @maetschl!)
  • 1.1.0 - 2019/09/27
  • 1.0.2 - 2017/03/24
  • 修复 iPhone 4S 问题(感谢 @jessearmand!)
  • 1.0.1 - 2017/02/22
    • 更新了文档
  • 1.0.0 - 2017/02/21
    • 库的初始版本