美文网首页
判断8-16位英文和数字组成密码

判断8-16位英文和数字组成密码

作者: IronMing | 来源:发表于2017-09-27 15:57 被阅读479次

    需求:8-16位 / 必须同时包含英文和数字

    正则:^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$

    • (?![0-9]+$) 预测该位置后不全是数字
    • (?![a-zA-Z]+$) 预测该位置后面不全是字母
    • [0-9A-Za-z] {8,16} 由8-16位数字或这字母组成

    判断方法如下:

    - (BOOL)isStandardPassword {
        NSString * regex = @"^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$";
        NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
        return [pred evaluateWithObject:self];
    }
    

    如果需要同时包含大小写英文和数字:

    regex = @"^(?![0-9]+$)(?![0-9A-Z]+$)(?![0-9a-z]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$";
    

    相关文章

      网友评论

          本文标题:判断8-16位英文和数字组成密码

          本文链接:https://www.haomeiwen.com/subject/fcmuextx.html