Используйте NSPredicate
и Regex
:
- (BOOL)validateEmailString:(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];
}
Для писем, разделенных запятой (,):
- (NSMutableArray*)validateEmailWithString:(NSString*)emails
{
NSMutableArray *emails = [[NSMutableArray alloc] init];
NSArray *emailOfArray = [emails componentsSeparatedByString:@","];
for (NSString *email in emailOfArray)
{
NSString *emailRegex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
NSPredicate *emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegex];
if ([emailTest evaluateWithObject:email])
[emails addObject:email];
}
return [emails autorelease];
}