0

我有一个简单的问题,那就是您如何检查电子邮件是否存在

我在最近的一篇文章中看到了这段代码:

- (BOOL) NSStringIsValidEmail:(NSString *)checkString{

    BOOL stricterFilter = YES; 
    NSString *stricterFilterString = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
    NSString *laxString = @".+@.+\\.[A-Za-z]{2}[A-Za-z]*";
    NSString *emailRegex = stricterFilter ? stricterFilterString : laxString;
    NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
    return [emailTest evaluateWithObject:checkString];
 }

我的问题是,如果 BOOL 返回 YES 或 NO 并返回一个动作,我该如何返回NSTextField

4

1 回答 1

1

如果电子邮件正确与否,只需有一个标签并将标签的文本设置为适当的消息。

UITextFieldDelegate通过实现以下协议方法,您可以在每次用户在文本字段中键入新字符时运行您的检查程序:

- (BOOL)textField:(UITextField *)textField 
   shouldChangeCharactersInRange:(NSRange)range 
   replacementString:(NSString *)string {

   NSString *newText = [textField.text stringByAppendingString:string];
   if ([self NSStringIsValidEmail:newText]) {
      statusLabel.text = @"Valid.";
   } else {
      statusLabel.text = @"Not a valid email address.";
   }
   return YES;
}
于 2012-06-17T22:57:29.880 回答