2016-04-24 5 views
-5

私はこれでしばらくこの問題に悩まされていましたが、クレジットカードタイプのフォーマットのためのテキストフィールドをフォーマットする最良の方法は何ですか?スウィフト - クレジットカードのテキストフィールドフォーマット

+0

これは意見に基づく質問...可能性がない一般的な答え...また、より多くのコードを提供してくださいと何をしようと試みてきていますこれまで何が働いていないのか、それともあなたが期待していることではないのでしょうか。 stackoverflowはコーディングサービスではありません。 –

+1

次回に問題が発生した場合は、google http://stackoverflow.com/questions/12083605/formatting-a-uitextfield-for-credit-card-input-like-xxxx-xxxx-xxxx- xxxx –

答えて

0

フレームワーク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) 
    } 
関連する問題