密码判断

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字符。

你可能感兴趣的:(密码判断)