#pragma mark - 判断字符串是否包含字符和数字,不可输入特殊字符
- (BOOL)isMobilePhoneNumber:(NSString *)mobileNum{
if (mobileNum.length != 11) {
return NO;
}
NSString *MOBILE = @"^1(3[0-9]|4[0-9]|5[0-9]|6[0-9]|8[0-9]|9[0-9]|7[0-9])\\d{8}$";
NSPredicate *regextestmobile = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", MOBILE];
return [regextestmobile evaluateWithObject:mobileNum];
}
pragma mark - 判断字符串是否包含字符和数字,不可输入特殊字符
- (BOOL)isStringContainNumberWith:(NSString *)str {
BOOL result = NO;
if ([str length] >= 8){
// 判断长度大于8位后再接着判断是否同时包含数字和字符
NSString * regex = @"^(?![0-9]+$)(?![a-zA-Z]+$)[0-9A-Za-z]{8,16}$";
NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
result = [pred evaluateWithObject:str];
}
return result;
}
pragma mark - 判断字符串是否包含字符和数字,可输入特殊字符
-(BOOL)isValidPasswordString:(NSString *)str {
BOOL result = NO;
if (str.length >= 8 && str.length<=18){
//数字条件
NSRegularExpression *tNumRegularExpression = [NSRegularExpression regularExpressionWithPattern:@"[0-9]" options:NSRegularExpressionCaseInsensitive error:nil];
//符合数字条件的有几个
NSUInteger tNumMatchCount = [tNumRegularExpression numberOfMatchesInString:str options:NSMatchingReportProgress
range:NSMakeRange(0, str.length)];
//英文字条件
NSRegularExpression *tLetterRegularExpression = [NSRegularExpression regularExpressionWithPattern:@"[A-Za-z]" options:NSRegularExpressionCaseInsensitive error:nil];
//符合英文字条件的有几个
NSUInteger tLetterMatchCount = [tLetterRegularExpression numberOfMatchesInString:str
options:NSMatchingReportProgress
range:NSMakeRange(0, str.length)];
//NSLog(@"isValidPasswordString 数字 有%lu个 , 字母有%lu个",(unsigned long)tNumMatchCount,(unsigned long)tLetterMatchCount);
if(tNumMatchCount >= 1 && tLetterMatchCount >= 1){
result = YES;
}
}
return result;
}
网友评论