Swift3 密码和电子邮件的文本字段验证
我想分别为两个textfielfd实施textfield验证,但我无法这样做。我为两个textfielfd都有上行链路代理,但他们都被应用于两个文本字段,例如,email只接受10个字符。我们如何分别为email和mobile应用它呢?不,这是我编写的代码:Swift3 密码和电子邮件的文本字段验证,swift3,Swift3,我想分别为两个textfielfd实施textfield验证,但我无法这样做。我为两个textfielfd都有上行链路代理,但他们都被应用于两个文本字段,例如,email只接受10个字符。我们如何分别为email和mobile应用它呢?不,这是我编写的代码: func textFieldDidEndEditing(_ textField: UITextField, reason: UITextFieldDidEndEditingReason) { if textField
func textFieldDidEndEditing(_ textField: UITextField, reason: UITextFieldDidEndEditingReason) {
if textField == textfieldemail
{
let providedEmailAddress = self.textfieldemail.text
let isEmailAddressValid = isValidEmailAddress(emailAddressString: providedEmailAddress!)
if isEmailAddressValid
{
print("Email address is valid")
}
else {
self.displayAlertMessage(messageToDisplay: "Email address is not valid")
}
}
}
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
let charsLimit = 10
let startingLength = textField.text?.characters.count ?? 0
let lengthToAdd = string.characters.count
let lengthToReplace = range.length
let newLength = startingLength + lengthToAdd - lengthToReplace
return newLength <= charsLimit
}
func textfielddendediting(textField:UITextField,原因:uitextfielddendeditingreason){
如果textField==textfieldmail
{
让providedEmailAddress=self.textfieldemail.text
让isEmailAddressValid=isValidEmailAddress(emailAddressString:providedEmailAddress!)
如果是有效的
{
打印(“电子邮件地址有效”)
}
否则{
self.displayAlertMessage(messageToDisplay:“电子邮件地址无效”)
}
}
}
func textField(textField:UITextField,shouldChangeCharacters范围:NSRange,replacementString:string)->Bool{
设charsLimit=10
让startingLength=textField.text?.characters.count±0
让lengthToAdd=string.characters.count
让lengthToReplace=range.length
让newLength=起始长度+长度添加-长度替换
return newLength您可以通过将标记赋予textfield并检查fun中的标记来唯一标识textfield
将UITextFieldDelegate
分配给相应的ViewController
为文本字段设置委托
emailIDTxtFld.delegate = self
mobileNoTxtFld.delegate = self
emailIDTxtFld.tag = 1001
mobileNoTxtFld.tag = 1002
设置文本字段的标记
emailIDTxtFld.delegate = self
mobileNoTxtFld.delegate = self
emailIDTxtFld.tag = 1001
mobileNoTxtFld.tag = 1002
现在实现这些方法
func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool {
let newString = (textField.text! as NSString).replacingCharacters(in: range, with: string)
if textField.tag == 1002{
//For MobileNo it will accept only 10 char
if newString.characters.count > 10{
return false
}else{
return true
}
}else if textField.tag == 1002{
//your logic
}
return true
}
func textFieldDidEndEditing(_ textField: UITextField) {
if textField.tag == 1001{
if textField.isValidEmail(){
// Code
}else{
print("Please Enter Vlaid Email ID")
}
}else if textField.tag == 1002{
if textField.text?.characters.count == 10{
// code
}else{
//code
}
}