iOS正则表达式判断密码

iOS 正则表达式

  • 不能全部为数字
  • 不能全部为字母
  • 必须包含字母和数字
  • 6-20位
-(BOOL)checkPassWord
{
    //6-20位数字和字母组成
    NSString *regex = @"^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{6,20}$";
    NSPredicate *   pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
    if ([pred evaluateWithObject:self]) {
        return YES ;
    }else
        return NO;
}

^(?![0-9]+)(?![a?zA?Z]+)[0-9A-Za-z]{6,20}$

  • ^ 匹配一行的开头位置
  • (?![0-9]+$) 预测该位置后面不全是数字
  • (?![a-zA-Z]+$) 预测该位置后面不全是字母
  • [0-9A-Za-z] {6,20} 由8-16位数字或这字母组成
  • $ 匹配行尾位置

注:(?!xxxx)是正则表达式的负向零宽断言一种形式,标识预该位置后不是xxxx字符。

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。