ios中正则表达式的一些应用
2017-12-07 本文已影响0人
Arthur澪
邮箱校验
+(BOOL)checkForEmail:(NSString *)email{
NSString *regEx = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}";
return [self baseCheckForRegEx:regEx data:email];
}
验证手机号
+(BOOL)checkForMobilePhoneNo:(NSString *)mobilePhone{
NSString *regEx = @"^1[3|4|5|7|8][0-9]\\d{8}$";
return [self baseCheckForRegEx:regEx data:mobilePhone];
}
身份证号验证
+ (BOOL) checkForIdCard:(NSString *)idCard{
NSString *regEx = @"(^[0-9]{15}$)|([0-9]{17}([0-9]|X)$)";
return [self baseCheckForRegEx:regEx data:idCard];
}
密码校验
+(BOOL)checkForPasswordWithShortest:(NSInteger)shortest longest:(NSInteger)longest password:(NSString *)pwd{
NSString *regEx =[NSString stringWithFormat:@"^[a-zA-Z0-9]{%ld,%ld}+$", shortest, longest];
return [self baseCheckForRegEx:regEx data:pwd];
}
以上配合的私有方法
+(BOOL)baseCheckForRegEx:(NSString *)regEx data:(NSString *)data{
NSPredicate *card = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regEx];
if (([card evaluateWithObject:data])) {
return YES;
}
return NO;
}
参考资料
http://blog.csdn.net/ws1352864983/article/details/51932858 *