从文本字段

时间:2016-07-13 11:55:08

标签: ios swift uitextfield

用户应仅输入a-z,A-Z和0-9。我向用户显示UIKeyboardType.ASCIICapable键盘布局。

在用户输入带键盘的字符串后,如何从字符串中过滤非a-z,A-Z和0-9。

我该如何解决这个问题?我正在使用xcode 7和swift 2。

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()