美文网首页
6-20位字符;数字、字母、特殊字符(除空格),起码其中两种组合

6-20位字符;数字、字母、特殊字符(除空格),起码其中两种组合

作者: 王欣12138 | 来源:发表于2017-10-13 18:26 被阅读194次
    - (NSString *)checkPassWord1:(NSString *)passWord1 WithPassWord2:(NSString *)passWord2 WithUsername:(NSString *)uesrname {
        if ([passWord1 isEqualToString:passWord2]) {
            NSRange range = [passWord1 rangeOfString:@" "];
            if (range.location != NSNotFound) {
                return @"不能有空格";
            }else {
                if (passWord1.length >=6 && passWord1.length <=20) {
                    NSString *passWordRegex = @"^(?=.*[a-zA-Z0-9].*)(?=.*[a-zA-Z\\W].*)(?=.*[0-9\\W].*).{8,20}$";//至少使用两种字符组合
                    NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", passWordRegex];
                    if ([pred evaluateWithObject:passWord1]) {
                        if ([passWord1 isEqualToString:uesrname]) {
                            return @"密码与用户名相同,有被盗风险" ;
                        }else {
                            return @"";
                        }
                    }else {
                        return @"至少使用两种字符组合";
                    }
                } else {
                    return @"长度只能在8-20个字符之间";
                }
            }
        } else {
            return @"两次输入密码不一致,请重新输入";
        }
    }
    

    相关文章

      网友评论

          本文标题:6-20位字符;数字、字母、特殊字符(除空格),起码其中两种组合

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