利用字符串区分邮箱是否合法

2021-11-17  本文已影响0人  dxin_101

-(BOOL)validateEmail:(NSString*)email

{

if((0 != [email rangeOfString:@"@"].length) &&

(0 != [email rangeOfString:@"."].length))

{

NSCharacterSet* tmpInvalidCharSet = [[NSCharacterSet alphanumericCharacterSet] invertedSet];

NSMutableCharacterSet* tmpInvalidMutableCharSet= [[tmpInvalidCharSet mutableCopy] autorelease];

[tmpInvalidMutableCharSetremoveCharactersInString:@"_-"];

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 {

return NO;

}

}

上一篇下一篇

猜你喜欢

热点阅读