手机号正则:
#pragma mark 手机号码验证 正则 - (BOOL) validateMobile:(NSString *)mobile { //手机号以13, 15,18开头,八个 \d 数字字符 NSString *phoneRegex = @"^((13[0-9])|(15[^4,\\D])|(18[0,0-9]))\\d{8}$"; NSPredicate *phoneTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",phoneRegex]; return [phoneTest evaluateWithObject:mobile]; }
密码正则判断:
全是数字不可以;全是字母也不可以;必须是数字和字母组合的6-16位
#pragma mark 密码正则验证
-(BOOL)checkPassWord:(NSString *)password
{
//6-16位数字和字母组成
/**
^ 匹配一行的开头位置
(?![0-9]+$) 预测该位置后面不全是数字
(?![a-zA-Z]+$) 预测该位置后面不全是字母
[0-9A-Za-z] {6,16} 由6-16位数字或这字母组成
$ 匹配行尾位置
*/
NSString *regex = @"^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,16}$";
NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
if ([pred evaluateWithObject:password]) {
return YES ;
}else
return NO;
}