美文网首页
iOS正则的一个小坑

iOS正则的一个小坑

作者: koreadragon | 来源:发表于2021-08-10 18:24 被阅读0次

    我们有如下的一个正则,用来校验密码。
    之前是@"^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,32}$",最开始的那个[0-9]是\d,@"^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,32}$"发现老是校验不通过,最后测试发现是iOS系统会认为你要将\d默认替换一个数字,但是这个数字又没有,导致报错。最后改为[0-9]就OK了。

    //密码长度相等,并且满足(密码长度8-32位,须包含数字、小写字母、大写字母)
        NSString *regex = @"^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{8,32}$";
        NSPredicate *pre = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex];
        BOOL valid = [pre evaluateWithObject:pass];
    

    相关文章

      网友评论

          本文标题:iOS正则的一个小坑

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