您的位置:首页 > 其它

邮箱和手机号码验证

2015-01-21 11:29 239 查看
/**
*  验证邮箱格式
*
*  @return 邮箱正确性
*/
- (BOOL)isValidEmail {
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:self];
}

/**
*  验证手机号码格式
*
*  @return 是否正确的手机号
*/
- (BOOL)isValidPhoneNumber {
/**
* 手机号码
* 移动:134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188
* 联通:130,131,132,152,155,156,185,186
* 电信:133,1349,153,180,189
*/
NSString *mobile = @"^1(3[0-9]|5[0-35-9]|8[025-9])\\d{8}$";
/**
10         * 中国移动:China Mobile
11         * 134[0-8],135,136,137,138,139,150,151,157,158,159,182,187,188
12         */
NSString *chinaMobile = @"^1(34[0-8]|(3[5-9]|5[017-9]|8[278])\\d)\\d{7}$";
/**
15         * 中国联通:China Unicom
16         * 130,131,132,152,155,156,185,186
17         */
NSString * chinaUnicom = @"^1(3[0-2]|5[256]|8[56])\\d{8}$";
/**
20         * 中国电信:China Telecom
21         * 133,1349,153,180,189
22         */
NSString * chinaTelecom = @"^1((33|53|8[09])[0-9]|349)\\d{7}$";

NSPredicate *mobilePredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", mobile];
NSPredicate *cmPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", chinaMobile];
NSPredicate *cuPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", chinaUnicom];
NSPredicate *ctPredicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", chinaTelecom];
if ([mobilePredicate evaluateWithObject:self]
|| [cmPredicate evaluateWithObject:self]
|| [cuPredicate evaluateWithObject:self]
|| [ctPredicate evaluateWithObject:self]) {
return YES;
}

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