DECardNumberFormatter

卡品牌

格式

集成

Swift Package Manager

您可以使用 Swift Package Manager 来安装 DECardNumberFormatter,方法是将以下依赖项添加到您的 Package.swift 文件中

.package(url: "https://github.com/Darkngs/DECardNumberFormatter.git", from: "2.0.0"),

手动

或者,您可以直接将 DECardNumberFormatter.swift 和 DECardNumberTextField.swift 源文件添加到您的项目中。

示例 - DECardNumberFormatter

let cardNumberFormatter = DECardNumberFormatter()

// AmEx
print(cardNumberFormatter.number(from: "34 12 123456 12345"))
print(cardNumberFormatter.number(from: "37 12 123456 12345"))

// Diners Club
var cardNumber = "300 1 123456 1234"
print(cardNumberFormatter.number(from: cardNumber))
if cardNumberFormatter.isValidLuhnCardNumber(cardNumber) {
   print("Card number: \(cardNumber) - is valid!")
}

// UATP
cardNumber = "1 234 12345 123456 1234"
print(cardNumberFormatter.number(from: cardNumber))
if cardNumberFormatter.isValidLuhnCardNumber(cardNumber) {
   print("Card number: \(cardNumber) - is valid!")
}

// Visa
cardNumber = "4111111111111111"
print(cardNumberFormatter.number(from: cardNumber))
if cardNumberFormatter.isValidLuhnCardNumber(cardNumber) {
   print("Card number: \(cardNumber) - is valid!")
}
输出
3412 123456 12345
3712 123456 12345
3001 123456 1234
1234 12345 123456 1234
4111 1111 1111 1111
Card number: 4111111111111111 - is valid!

示例 - DECardNumberTextField

let textField = DECardNumberTextField()
textField.setup()