您的位置:首页 > 编程语言

另一组判断邮箱是否合法的代码

2011-07-03 14:21 901 查看
此前我们分享过 favormm 的博客 介绍的判断邮箱是否合法的代码,今天介绍另一种方法,通过字符串操作来检查邮箱合法性。转自 http://iphoneapp-dev.blogspot.com/search/label/Email%20Validation%20in%20iPhone%20application.。代码如下

-(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;

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: