產(chǎn)品要求密碼一定是包含大小寫字符、數(shù)字組合的密碼,所以對(duì)密碼做了驗(yàn)證。
由于正則表達(dá)式不精,所以分別做了驗(yàn)證。
// 大小寫數(shù)字判斷
- (BOOL)judgePassWordLegal:(NSString *)pass {
// 驗(yàn)證密碼長度
if(pass.length < 8 || pass.length > 16) {
NSLog(@"請(qǐng)輸入8-16的密碼");
return NO;
}
// 驗(yàn)證密碼是否包含數(shù)字
NSString *numPattern = @".*\\d+.*";
NSPredicate *numPred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", numPattern];
if (![numPred evaluateWithObject:pass]) {
NSLog(@"密碼必須包含數(shù)字");
return NO;
}
// 驗(yàn)證密碼是否包含小寫字母
NSString *lowerPattern = @".*[a-z]+.*";
NSPredicate *lowerPred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", lowerPattern];
if (![lowerPred evaluateWithObject:pass]) {
NSLog(@"密碼必須包含小寫字母");
return NO;
}
// 驗(yàn)證密碼是否包含大寫字母
NSString *upperPattern = @".*[A-Z]+.*";
NSPredicate *upperPred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", upperPattern];
if (![upperPred evaluateWithObject:pass]) {
NSLog(@"密碼必須包含大寫字母");
return NO;
}
return YES;
}