我实现了以下代码。它接受任何类型的邮件 ID。示例:abc@xyz.com。但我想接受完美的邮件 ID。例如:abc@gmail.com、abc@yahoo.com。谁能指导如何做到这一点。
- (BOOL) validateEmail: (NSString *) candidate {
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:candidate];
}
提前致谢
最佳答案
试试这段代码:
- (BOOL) validateEmail: (NSString *) candidate {
NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
BOOL result = [emailTest evaluateWithObject:candidate];
if(result)
{
NSSet *domains= [NSSet setWithObjects:@"yahoo.com",@"yahoo.co.in",@"yahoo.co.au",@"yahoo.co.nz",@"gmail.com",@"rediffmail.com",.........., nil];
NSArray *arrayObjects = [domains allObjects];
BOOL results = NO;
for(int i = 0;i<[arrayObjects count];i++)
{
if([emailTest rangeOfString:[arrayObjects objectAtIndex:i]].location != NSNotFound)
{
results = YES;
break;
}
}
return results;
}
else
{
return NO;
}
return [emailTest evaluateWithObject:candidate];
}
希望一切都好
如果您需要更多帮助,请告诉我。
关于iphone - 在 iPhone 中验证电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10188698/