IOS中非法字符判断
2016-04-21 本文已影响1311人
脑路异常
在用户注册的时候,往往要对用户注册时候输入的密码进行客户端本地判断,判断输入是否为空,长度是否过短,以及是否有非法字符,自己对正则表达式不太熟悉,下面的判断算法是度娘给的 :
//判断是否含有非法字符 yes 有 no没有
+ (BOOL)JudgeTheillegalCharacter:(NSString *)content{
NSString *str =@"^[A-Za-z0-9\\u4e00-\u9fa5]+$";
NSPredicate* emailTest = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", str];
if (![emailTest evaluateWithObject:content]) {
return YES;
}
return NO;
}
自己在这基础上增加了其他一些判断,改进版本如下
//判断密码有效性
+(NSString *) vaildPassWord : (NSString *)passWd
{
NSString *errMsg = nil;
if (passWd == nil || passWd.length == 0) {
errMsg = @"密码为空";
} else if(passWd.length < PASSWD_MIN_LENGTH){
errMsg = @"密码长度最少6位";
} else if([self JudgeTheillegalCharacter:passWd]){
errMsg = @"密码中不能包含非法字符";
}
return errMsg;
}