从文本字段中删除所有非 a-zA-Z 和非数字字符串



用户应该只输入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()字母。

最新更新