输入框的三种校验

需求:指定输入框只能输入数字,指定输入框只能输入字母

  1. 设置相应输入框的键盘类型指定为数字或字母
areaCell?.rightTextField.keyboardType = .numberPad
areaCell?.rightTextField.keyboardType = .default

2.输入格式错误时,弹出错误提示

  fileprivate func allowNumber(_ string: String) -> Bool {
        // 通过正则来判断是否为数字
        let regex = "^[0-9]*$" // 正则表达式
        let pred = NSPredicate.init(format: "SELF MATCHES %@", regex)
        return pred.evaluate(with: string)
  }
  fileprivate func allowAlphabet(_ string: String) -> Bool {
        // 通过正则来判断是否为字母
        let regex = "^[a-zA-Z]*$" // 正则表达式
        let pred = NSPredicate.init(format: "SELF MATCHES %@", regex)
        return pred.evaluate(with: string)
    }

校验按钮点击,调用校验的方法

@IBAction func checkInputTextAction(_ sender: Any) {
        if let string = self.inputTextField.text {
            if self.numberBtn.isSelected {
                if self.allowNumber(string) {
                    debugPrint("")
                } else {
                    debugPrint("只允许输入数字")
                }
            } else if self.alphabetBtn.isSelected {
                if self.allowAlphabet(string) {
                    debugPrint("")
                } else {
                    debugPrint("只允许输入字母")
                }
            }
        }
 }

你可能感兴趣的:(输入框的三种校验)