正则匹配
1:一般情况下都是在NSString 分类中实现这些方法
/**
*判断是否是手机号
*/
-(BOOL)isTelphoneNum{
NSString *telRegex = @"^1[3578]\\d{9}$";
NSPredicate *prediate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", telRegex];
return [prediate evaluateWithObject:self];
}
/**
*判断验证码
*/
-(BOOL)isCodeNum{
NSString *telRegex = @"^\\d{4}$";
NSPredicate *prediate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", telRegex];
return [prediate evaluateWithObject:self];
}
/**
* 判断身份证
*/
- (BOOL)isCard {
NSString *codeRegex =@"^(\\d{15}$|^\\d{18}$|^\\d{17}(\\d|X|x))$";
NSPredicate *codePrediate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", codeRegex];
return [codePrediate evaluateWithObject:self];
}
//是否是纯数字
- (BOOL)isNumText:(NSString *)str{
NSString * regex = @"^[0-9]*$";
NSPredicate * pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
return [pred evaluateWithObject:str];
}
/**
* 是否是合法昵称:由中文、英文、数字、-、_组成的4-20位
*/
- (BOOL)isNickName {
NSString * regex =@"[a-zA-Z0-9\u4e00-\u9fa5_-]{4,20}$";
NSPredicate * pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
return [pred evaluateWithObject:self];
}