我使用(555)555-5555这样的遮罩,但我也希望它看起来像(555)5 **-****。输入文本时,我该怎么做才能掩盖用户?
掩码函数:
func applyPatternOnNumbers(pattern: String, replacmentCharacter: Character) -> String {
var pureNumber = self.replacingOccurrences( of: "[^0-9]", with: "", options: .regularExpression)
for index in 0 ..< pattern.count {
guard index < pureNumber.count else { return pureNumber }
let stringIndex = String.Index(encodedOffset: index)
let patternCharacter = pattern[stringIndex]
guard patternCharacter != replacmentCharacter else { continue }
pureNumber.insert(patternCharacter, at: stringIndex)
}
return pureNumber
}
用法:
sender.text = textString.applyPatternOnNumbers(pattern: "(###) ###-####", replacmentCharacter: "#")