ios-UITextField-输入字符校验

【ios-UITextField-输入字符校验】有时在用户需要提交一些修改的时候,我们需要校验他提交的内容的长度或者合法性,当然这些校验可以放到后台,,以输入电话号码为例:

//先为textField设置一个变化的监听, text.addTarget(self, action: #selector(textDidChange), forControlEvents: .EditingChanged)//监听时产生校验行为 校验用户输入的长度 func textDidChange(textField:UITextField) { if let _ = textField.text { // 不使用拼音的时候就校验 if let positionRange = textField.markedTextRange { if let _ = textField.positionFromPosition(positionRange.start, offset: 0) {} else { self.checkTextFieldLen(textField) } } else { self.checkTextFieldLen(textField) } } checkTextFieldVegality(textField) }//是否超出长度 func checkTextFieldLen(textField:UITextField) { //your code here let texts:String = textField.text! let ss = texts as NSString var len = 0 len = telLen if texts.characters.count > len { print("too long") textField.text = ss.substringToIndex(telLen) } }// 是否合法 func checkTextFieldVegality(textField:UITextField) { if isValidTel(textField.text!) == false { print("非法字符串") } }func isValidTel(str:String) -> Bool { let format = "^1[0-9]*$" let predicate = NSPredicate(format: "SELF MATCHES %@",format) let isValid = predicate.evaluateWithObject(str) return isValid }

    推荐阅读