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