用户应该只输入a-z,A-Z和0-9。我向用户显示 UIKeyboardType.ASCIICapable 键盘布局。
用户使用键盘输入字符串后,如何从字符串中过滤非 a-z、A-Z 和 0-9。
如何解决此问题?我正在使用 xcode 7 和 swift 2。
你需要使用委托方法UITextField
func textField(textField: UITextField, shouldChangeCharactersInRange range: NSRange, replacementString string: String) -> Bool {
let set: NSCharacterSet = NSCharacterSet.alphanumericCharacterSet().invertedSet
if string.rangeOfCharacterFromSet(set) != nil {
return false
}
return true
}
检查是否存在
接受集的反转:
if yourtextfield.text!.rangeOfCharacterFromSet(letters.invertedSet) != nil {
print("invalid")
}
如果您还想包含数字,则可能应该alphanumericCharacterSet()
字母。