Swift - 格式化信用卡的文本字段[重复]

Posted

技术标签:

【中文标题】Swift - 格式化信用卡的文本字段[重复]【英文标题】:Swift - Format textfield for a credit card [duplicate] 【发布时间】:2016-08-17 18:43:02 【问题描述】:

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

【问题讨论】:

这是一个基于意见的问题...不可能提供一般性答案...还请提供更多代码以及您迄今为止尝试过的内容以及无效或不符合您期望的内容它要做。 *** 不是编码服务。 下次遇到问题时,请使用谷歌,***.com/questions/12083605/… 【参考方案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 += "(\\d1,\(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)
    

【讨论】:

以上是关于Swift - 格式化信用卡的文本字段[重复]的主要内容,如果未能解决你的问题,请参考以下文章

逐条分解细说典型澳大利亚SWIFT信用证

如何在 ASP.NET 文本框中仅允许信用卡/借记卡号码格式

自定义格式编辑文本输入android接受信用卡号

信用卡号码格式

ASP.NET 为信用卡字段禁用 Chrome 自动填充

头条 | Swift报文升级之修改报文升级后的那些变化