美文网首页
账号和密码规则判断

账号和密码规则判断

作者: i爱吃土豆的猫 | 来源:发表于2020-02-29 21:08 被阅读0次
#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;

  }

相关文章

网友评论

      本文标题:账号和密码规则判断

      本文链接:https://www.haomeiwen.com/subject/hgxbhhtx.html