防止swift中电话键盘文本字段的第一个字符为“0”
如何防止第一个字符为0,例如,如果电话号码以012345678开头,则应防止首先键入0。下面是swift代码防止swift中电话键盘文本字段的第一个字符为“0”,swift,uitextfield,Swift,Uitextfield,如何防止第一个字符为0,例如,如果电话号码以012345678开头,则应防止首先键入0。下面是swift代码 class LoginVC: UIViewController { var isShowFilter = false @IBOutlet weak var txtPhone: UITextField! @IBOutlet weak var txtPassword: UITextField! @IBOutlet weak var btnLogin: Theme
class LoginVC: UIViewController {
var isShowFilter = false
@IBOutlet weak var txtPhone: UITextField!
@IBOutlet weak var txtPassword: UITextField!
@IBOutlet weak var btnLogin: ThemeButton!
func validateView() -> Bool{
if (self.txtPhone.text?.isEmpty)!{
GFunctions.ShowAlert(message: StringIdentifier.EnterPhone.rawValue)
return false
}
else if ((self.txtPhone.text?.starts(with: "0")) != nil){
GFunctions.ShowAlert(message: StringIdentifier.NoEnterZero.rawValue) //Here want to show toast message if user put 0 at first
return false
}
else if (self.txtPassword.text?.isEmpty)!{
GFunctions.ShowAlert(message: StringIdentifier.EnterPassword.rawValue)
return false
}else if (self.txtPassword.text?.count)! < 6 {
GFunctions.ShowAlert(message: StringIdentifier.ValidPassword.rawValue)
return false
}else{
return true
}
}
@IBAction func btnLoginTapped(_ sender: UIButton) {
if validateView(){
isShowFilter = true
self.APICallLogin()
}
}
override func viewDidLoad() {
super.viewDidLoad()
}
enum StringIdentifier : String{
case NoEnterZero = "Do not start with 0"
}
简单实现TextField委托
extension LoginVC: UITextFieldDelegate {
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
if range.location == 0 && string == "0" {
return false
}
return true
}
}
override func viewDidLoad() {
super.viewDidLoad()
txtPhone.delegate = self
}
确保将ViewController设置为TextField委托
extension LoginVC: UITextFieldDelegate {
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
if range.location == 0 && string == "0" {
return false
}
return true
}
}
override func viewDidLoad() {
super.viewDidLoad()
txtPhone.delegate = self
}
注册到相关的UITextfile委托方法,然后尝试以下操作