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];
}
{
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];
}
相关文章推荐
- iOS 开发: 用户名、邮箱、电话号码、密码、昵称正则表达式验证
- ios 邮箱验证
- iOS邮箱、手机号等常用验证功能
- iOS中验证邮箱, 手机号
- iOS 用正则表达式验证邮箱和手机号
- iOS - UITextfield 验证邮箱格式
- iOS开发--邮箱,电话号码,身份证正则表达式验证
- 【iOS知识学习】_iPhone邮箱身份证电话号码验证
- iOS 常用的正则表达式(手机、邮箱验证等)
- iOS开发正则表达式,验证是否是邮箱,手机号,银行卡号,URL等等
- iOS 手机号码和邮箱的验证
- iOS中用正则表达式验证邮箱和手机号
- iOS 验证邮箱和手机 拨打电话
- iOS邮箱、手机号等常用验证功能 判断字符串是否int float
- iOS最新验证手机号常用正则表达式(邮箱,车牌号)
- iOS 手机号码和邮箱的验证
- iOS开发中邮箱,电话号码,身份证,密码,昵称正则表达式验证
- iOS 验证邮箱是否正确
- iOS利用正则表达式验证邮箱格式是否正确
- IOS判断用邮箱登录验证是不是合法的方法