Skip to content

Instantly share code, notes, and snippets.

@remirobert
Created March 11, 2015 18:04
Show Gist options
  • Save remirobert/387ecc5e7e88d556d8c1 to your computer and use it in GitHub Desktop.
Save remirobert/387ecc5e7e88d556d8c1 to your computer and use it in GitHub Desktop.
check email
+ (BOOL) isValidEmail:(NSString *)s {
// An empty email is not ok
if (!s || [s length] <= 0)
return NO;
s = [s lowercaseString];
// A huge email matching regular expression
NSString *emailRegEx = @"(?:[a-z0-9!#$%\\&'*+/=?\\^_`{|}~-]+(?:\\.[a-z0-9!#$%\\&'*+/=?\\^_`{|}"
@"~-]+)*|\"(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21\\x23-\\x5b\\x5d-\\"
@"x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])*\")@(?:(?:[a-z0-9](?:[a-"
@"z0-9-]*[a-z0-9])?\\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\\[(?:(?:25[0-5"
@"]|2[0-4][0-9]|[01]?[0-9][0-9]?)\\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-"
@"9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\\x01-\\x08\\x0b\\x0c\\x0e-\\x1f\\x21"
@"-\\x5a\\x53-\\x7f]|\\\\[\\x01-\\x09\\x0b\\x0c\\x0e-\\x7f])+)\\])";
NSPredicate *regExPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", emailRegEx];
return [regExPredicate evaluateWithObject:s];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment