手机号、密码正则判断

手机号正则:

#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;
}

  

posted on 2016-12-07 15:36  Walking_Jin  阅读(357)  评论(0编辑  收藏  举报

导航