美文网首页
判断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