【问题标题】:Swift - Format textfield for a credit card [duplicate]Swift - 格式化信用卡的文本字段[重复]
【发布时间】:2023-03-11 00:08:01
【问题描述】:

我已经被这个问题困扰了一段时间,我想知道将文本字段格式化为信用卡类型格式的最佳方法是什么?

【问题讨论】:

  • 这是一个基于意见的问题...不可能提供一般性答案...还请提供更多代码以及您迄今为止尝试过的内容以及无效或不符合您期望的内容它要做。 stackoverflow 不是编码服务。
  • 下次遇到问题时,请使用谷歌,stackoverflow.com/questions/12083605/…

标签: ios swift textfield credit-card


【解决方案1】:

您可以使用Caishen 框架。

使用此功能在每次编辑后更新文本字段的内容:

public func formattedCardNumber(cardNumberString: String) -> String {
        let regex: NSRegularExpression

        let cardType = cardTypeRegister.cardTypeForNumber(Number(rawValue: cardNumberString))
        do {
            let groups = cardType.numberGrouping
            var pattern = ""
            var first = true
            for group in groups {
                pattern += "(\\d{1,\(group)})"
                if !first {
                    pattern += "?"
                }
                first = false
            }
            regex = try NSRegularExpression(pattern: pattern, options: NSRegularExpressionOptions())
        } catch {
            fatalError("Error when creating regular expression: \(error)")
        }

        return NSArray(array: self.splitString(cardNumberString, withRegex: regex)).componentsJoinedByString(self.separator)
    }

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-04
    • 2015-10-24
    • 2016-08-18
    • 2012-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多