如何检查输入的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
我该如何验证这个案子?我很高兴有任何建议。
答案 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];
}