Wednesday 18 December 2013

Email Validation in iPhone application


This code is used for email validation. This function will return the True of False for the give email address. If the Email is valid it will return True other wise it will return False.

-(BOOL)validateEmail:(NSString*)email{
   
 
    if( (0 != [email rangeOfString:@"@"].length) &&  (0 != [email rangeOfString:@"."].length) )
    {
        NSMutableCharacterSet *invalidCharSet = [[[[NSCharacterSet alphanumericCharacterSet] invertedSet]mutableCopy]autorelease];
        [invalidCharSet removeCharactersInString:@"_-"];
       
 
        NSRange range1 = [email rangeOfString:@"@" options:NSCaseInsensitiveSearch];
       
 
        // If username part contains any character other than "."  "_" "-"
       
 
        NSString *usernamePart = [email substringToIndex:range1.location];
        NSArray *stringsArray1 = [usernamePart componentsSeparatedByString:@"."];
        for (NSString *string in stringsArray1) {
            NSRange rangeOfInavlidChars=[string rangeOfCharacterFromSet: invalidCharSet];
            if(rangeOfInavlidChars.length !=0 || [string isEqualToString:@""])
                return NO;
        }
       
 
        NSString *domainPart = [email substringFromIndex:range1.location+1];
        NSArray *stringsArray2 = [domainPart componentsSeparatedByString:@"."];
       
 
        for (NSString *string in stringsArray2) {
            NSRange rangeOfInavlidChars=[string rangeOfCharacterFromSet:invalidCharSet];
            if(rangeOfInavlidChars.length !=0 || [string isEqualToString:@""])
                return NO;
        }
       
 
        return YES;
    }
    else // no '@' or '.' present
        return NO;
}

No comments:

Post a Comment

Comment