【发布时间】:2014-07-09 05:59:29
【问题描述】:
您好,我想在用户在文本字段中输入文本时验证电子邮件地址。当错误的电子邮件然后显示警报并返回 no 以留在电子邮件文本字段中时,它正在处理返回和文本字段结束编辑,但不适用于 textField shouldChangeCharactersInRange。 如果有人知道如何做请分享它,请提前谢谢。 这是我的验证示例代码作为回报
- (void)textFieldDidEndEditing:(UITextField *)textField
{
activeTextfield=textField;
if(activeTextfield==txtCon1Email || activeTextfield==txtCon1SecondMail || activeTextfield==txtCon2Email || activeTextfield==txtCon2SecondMail)
{
NSString *emailReg = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailReg];
if ([emailTest evaluateWithObject:textField.text] == NO)
{
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:@"OTS" message:@"Please enter valid email address." delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
[alert show];
isvalidemail=NO;
}
else
isvalidemail=YES;
}
}
但我想在用户输入文本时执行此操作
【问题讨论】:
-
为什么要在每个字符的输入时进行验证,字符不是有效的电子邮件。您需要使用
textFieldDidEndEditing
标签: ios objective-c email uitextfield