iOS 设置密码8-16位,必须包含字母和数字(可包含其他特殊字符)
来源:互联网 发布:java执行bat文件 编辑:程序博客网 时间:2024/06/05 08:58
一开始写了个正则表达式,如下,发现并没有满足条件,下面这个是只能包含字母和数字
+(BOOL)judgePassWordLegal:(NSString *)pass{ BOOL result = false; if ([pass length] >= 8 && [pass length] <= 16){ // 判断长度大于8位后再接着判断是否同时包含数字和字符 NSString * regex = @"^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$"; NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex]; result = [pred evaluateWithObject:pass]; } return result; }
通过想了下,其实只需要判断,这个字符串里面,至少包含一个数字和至少一个字母,其他可以包含 + - _,可以用如下表达式来判断
-(BOOL)isValidPasswordString{ BOOL result = NO; if ([self length] >= 8 && [self length] <= 16){ //数字条件 NSRegularExpression *tNumRegularExpression = [NSRegularExpression regularExpressionWithPattern:@"[0-9]" options:NSRegularExpressionCaseInsensitive error:nil]; //符合数字条件的有几个 NSUInteger tNumMatchCount = [tNumRegularExpression numberOfMatchesInString:self options:NSMatchingReportProgress range:NSMakeRange(0, self.length)]; //英文字条件 NSRegularExpression *tLetterRegularExpression = [NSRegularExpression regularExpressionWithPattern:@"[A-Za-z]" options:NSRegularExpressionCaseInsensitive error:nil]; //符合英文字条件的有几个 NSUInteger tLetterMatchCount = [tLetterRegularExpression numberOfMatchesInString:self options:NSMatchingReportProgress range:NSMakeRange(0, self.length)]; if(tNumMatchCount >= 1 && tLetterMatchCount >= 1){ result = YES; } } return result;}
阅读全文
0 0
- iOS 设置密码8-16位,必须包含字母和数字(可包含其他特殊字符)
- 密码同时包含8~20位数字和大小写字母,不包含特殊字符的判断方法(正则表达式)
- 密码同时包含6~18位数字和大小写字母,不包含特殊字符的判断方法(正则表达式)
- 正则表达式——设置密码包含8到16位数字和字母
- js正则表达式验证密码强度,必须包含数字,大写字母,小写字母,特殊字符四选三
- js正则表达式 必须包含数字、字母、特殊字符
- 密码等级:至少包含字母、大小写数字、特殊字符 JS
- Java随机生成长度不少于6的指定长度的密码,且这个字符串必须包含大小写字母、数字和特殊字符,四种的任意三种
- 密码8到64位大小写字母+数字+字符 不能包含空格
- Java随机密码生成器,Java随机生成长度不少于6的指定长度的密码,且这个字符串必须包含大小写字母、数字和特殊字符,四种的任意三种
- 自定义表单验证,密码是否包含数字、字母、特殊字符的至少2种
- 密码最短长度为 7,其中必须包含以下非字母数字字符: 1
- "密码最短长度为7,其中必须包含以下非字母数字字符1"解决方法
- "密码最短长度为7,其中必须包含以下非字母数字字符1"解决方法
- vs2005:密码最短长度为 7,其中必须包含以下非字母数字字符: 1
- 密码最短长度为 7,其中必须包含以下非字母数字字符: 1。
- 密码最短长度为7,其中必须包含以下非字母数字字符: 1.
- 解决"密码最短长度为7,其中必须包含以下非字母数字字符: 1"
- 指定数字的输出位数
- Java快递鸟快递查询接口集成
- redis RDB数据迁移
- ImageLoader初始化详解
- 解决org.springframework.beans.factory.BeanCreationException: Error creating bean with name
- iOS 设置密码8-16位,必须包含字母和数字(可包含其他特殊字符)
- hdu1204(马尔科夫过程)
- hadoop中partition的简单应用《转》
- spring实现读写分离
- node与PM2
- IDE 提示 'finally' block can not complete normally的问题
- vs2010中将打断注释折叠起来和将if等语句折叠方法
- Linux中的搜索命令
- 以故事的方式让你理解Java(一)