您的位置:首页 > 移动开发 > IOS开发

iOS 邮箱验证

2013-11-30 12:54 246 查看
-(BOOL)validateEmail:(NSString*)email
{

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

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

NSMutableCharacterSet* tmpInvalidMutableCharSet = [tmpInvalidCharSet
mutableCopy];
[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 {

return NO;
}
}

//利用正则表达式验证
-(BOOL)isValidateEmail:(NSString *)email {

NSString *emailRegex =
@"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";

NSPredicate *emailTest = [NSPredicate
predicateWithFormat:@"SELF MATCHES %@", emailRegex];

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