iphone的电子邮件验证

时间:2015-03-23 08:22:14

标签: ios objective-c email-validation

如何检查输入的email id是否有效?

就像,我收到了验证a@a.com的代码

我试过这个功能。

- (BOOL)validateEmailWithString:(NSString*)email
{
    NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"; 
    NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex]; 
    return [emailTest evaluateWithObject:email];
}

但是,如果用户输入a@a.com.com.com.com

,该怎么办?

我该如何验证这个案子?我很高兴有任何建议。

2 个答案:

答案 0 :(得分:2)

您可能发现该电子邮件地址正则表达式。这是一个有效的电子邮件地址检查程序,其中包含电子邮件的子域名。

因此,您的计划可以接受有效的电子邮件地址vrwim@dev.email.com

如果您想将其更改为仅接受非子域名电子邮件地址(不明白,我的学校将其用于所有学生),请使用[A-Z0-9a-z._%+-]+@[A-Za-z0-9-]+\\.[A-Za-z]{2,4}

答案 1 :(得分:0)

Coco功能。检查

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