判断邮箱是否合法

来源:互联网 发布:会锁机的软件下载 编辑:程序博客网 时间:2024/05/02 02:18
-(BOOL)validateEmail:(NSString*)email{    if((0 != [email rangeOfString:@"@"].length) &&       (0 != [email rangeOfString:@"."].length))    {         NSCharacterSet* tmpInvalidCharSet = [[NSCharacterSet alphanumericCharacterSet] invertedSet];        NSMutableCharacterSet* tmpInvalidMutableCharSet = [[tmpInvalidCharSet mutableCopy] autorelease];        [tmpInvalidMutableCharSet removeCharactersInString:@"_-"]//使用compare option 来设定比较规则,如        //NSCaseInsensitiveSearch是不区分大小写        //NSLiteralSearch 进行完全比较,区分大小写        //NSNumericSearch 只比较定符串的个数,而不比较字符串的字面值        NSRange range1 = [email rangeOfString:@"@"                                      options:NSCaseInsensitiveSearch]//取得用户名部分        NSString* userNameString = [email substringToIndex:range1.location];        NSArray* userNameArray   = [userNameString componentsSeparatedByString:@"."]for(NSString* string in userNameArray)        {            NSRange rangeOfInavlidChars = [string rangeOfCharacterFromSet: tmpInvalidMutableCharSet];            if(rangeOfInavlidChars.length != 0 || [string isEqualToString:@""])                return NO;        }         NSString *domainString = [email substringFromIndex:range1.location+1];        NSArray *domainArray   = [domainString componentsSeparatedByString:@"."]for(NSString *string in domainArray)        {            NSRange rangeOfInavlidChars=[string rangeOfCharacterFromSet:tmpInvalidMutableCharSet];            if(rangeOfInavlidChars.length !=0 || [string isEqualToString:@""])                return NO;        }         return YES;    }    else // no ''@'' or ''.'' present        return NO;}

http://www.cocoachina.com/bbs/columns.php?action=columns