密码同时包含8~20位数字和大小写字母,不包含特殊字符的判断方法(正则表达式)
2016-11-29 17:05
1071 查看
+ (NSString*)isOrNoPasswordStyle:(NSString *)passWordName
{
NSString * message;
if (passWordName.length<8) {
message=@" 密码不能少于8位,请您重新输入";
}
else
if (passWordName.length>20)
{
message=@"密码最大长度为20位,请您重新输入";
}
else
if ([selfJudgeTheillegalCharacter:passWordName])
{
message=@"密码不能包含特殊字符,请您重新输入";
}
else
if (![selfjudgePassWordLegal:passWordName])
{
message=@"密码必须同时包含字母和数字";
}
return message;
}
+(BOOL)JudgeTheillegalCharacter:(NSString *)content{
//提示标签不能输入特殊字符
NSString *str =@"^[A-Za-z0-9\\u4e00-\u9fa5]+$";
NSPredicate* emailTest = [NSPredicatepredicateWithFormat:@"SELF
MATCHES %@", str];
if (![emailTestevaluateWithObject:content]) {
returnYES;
}
returnNO;
}
+(BOOL)judgePassWordLegal:(NSString *)pass{
BOOL result ;
// 判断长度大于8位后再接着判断是否同时包含数字和大小写字母
NSString * regex =@"(?![0-9A-Z]+$)(?![0-9a-z]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,20}$ ";
NSPredicate *pred = [NSPredicatepredicateWithFormat:@"SELF
MATCHES %@", regex];
result = [pred evaluateWithObject:pass];
NSLog(@"%hhd",result);
return result;
}
提示:以返回字符串的长度来判断,长度大于0,证明有返回值,证明不符合规则,直接提示返回字符串便可
正则表达式:
1.8~20位同时包含数字和大小写字母 (?![0-9A-Z]+$)(?![0-9a-z]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,20}$
2.8~20位同时包含数字和字母
^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,20}$
{
NSString * message;
if (passWordName.length<8) {
message=@" 密码不能少于8位,请您重新输入";
}
else
if (passWordName.length>20)
{
message=@"密码最大长度为20位,请您重新输入";
}
else
if ([selfJudgeTheillegalCharacter:passWordName])
{
message=@"密码不能包含特殊字符,请您重新输入";
}
else
if (![selfjudgePassWordLegal:passWordName])
{
message=@"密码必须同时包含字母和数字";
}
return message;
}
+(BOOL)JudgeTheillegalCharacter:(NSString *)content{
//提示标签不能输入特殊字符
NSString *str =@"^[A-Za-z0-9\\u4e00-\u9fa5]+$";
NSPredicate* emailTest = [NSPredicatepredicateWithFormat:@"SELF
MATCHES %@", str];
if (![emailTestevaluateWithObject:content]) {
returnYES;
}
returnNO;
}
+(BOOL)judgePassWordLegal:(NSString *)pass{
BOOL result ;
// 判断长度大于8位后再接着判断是否同时包含数字和大小写字母
NSString * regex =@"(?![0-9A-Z]+$)(?![0-9a-z]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,20}$ ";
NSPredicate *pred = [NSPredicatepredicateWithFormat:@"SELF
MATCHES %@", regex];
result = [pred evaluateWithObject:pass];
NSLog(@"%hhd",result);
return result;
}
提示:以返回字符串的长度来判断,长度大于0,证明有返回值,证明不符合规则,直接提示返回字符串便可
正则表达式:
1.8~20位同时包含数字和大小写字母 (?![0-9A-Z]+$)(?![0-9a-z]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,20}$
2.8~20位同时包含数字和字母
^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,20}$
相关文章推荐
- 密码同时包含6~18位数字和大小写字母,不包含特殊字符的判断方法(正则表达式)
- Java随机生成长度不少于6的指定长度的密码,且这个字符串必须包含大小写字母、数字和特殊字符,四种的任意三种
- 判断密码至少8位包含大小写字母,数字,特殊符号四选三
- Java随机密码生成器,Java随机生成长度不少于6的指定长度的密码,且这个字符串必须包含大小写字母、数字和特殊字符,四种的任意三种
- 密码等级:至少包含字母、大小写数字、特殊字符 JS
- 密码只能输入字母+数字不能包含特殊字符的校验规则
- iOS 设置密码8-16位,必须包含字母和数字(可包含其他特殊字符)
- 正则表达式必须包含字母.数字和特殊字符写法(转载Do the Right Thing Right.)
- JS实现至少包含字母、大小写数字、字符的密码等级的两种方法
- 自定义表单验证,密码是否包含数字、字母、特殊字符的至少2种
- JS实现至少包含字母、大小写数字、字符的密码等级的两种方法
- 正则表达式(必须包含字母.数字和特殊字符) 转载Do the Right Thing Right.
- sql 判断字符串中是否包含数字和字母的方法
- IOS中用正则表达式判断输入的内容为8-16位且同时包含数字和字母
- "密码最短长度为7,其中必须包含以下非字母数字字符1"解决方法 (转)
- PHP判断字符是否为字母/数字检测/password_hash密码加密
- 密码等级:至少包含字母、大小写数字、字符中的两种 JS实现方案
- LotusScript生成随机密码(数字、字母、特殊字符组合)
- 字符串要求字母、数字、特殊字符,至少有两项。正则表达式不好写,可以用这个方法实现。
- java判断字符串是否全部由数字,大小写字母,特殊符号组成