用户应仅输入a-z,A-Z和0-9。我向用户显示UIKeyboardType.ASCIICapable键盘布局。
在用户输入带键盘的字符串后,如何从字符串中过滤非a-z,A-Z和0-9。
我该如何解决这个问题?我正在使用xcode 7和swift 2。
答案 0 :(得分:1)
您需要使用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
}
答案 1 :(得分:0)
检查您接受的集合的反转是否存在:
if yourtextfield.text!.rangeOfCharacterFromSet(letters.invertedSet) != nil {
print("invalid")
}
如果你想包括数字,字母应该是alphanumericCharacterSet()
。