关于字符串的一些常用判断 是否全部为数字 是否包含有数字 是否包含有英文

 
 

//判断是否为整形: - (BOOL)isPureInt:(NSString*)string{     NSScanner* scan = [NSScanner scannerWithString:string];     int val;     return[scan scanInt:&val] && [scan isAtEnd]; } //判断是字符串是否为小数 -(BOOL)isPureFloatNum:(NSString*)str{     if(str.length >= 3){     NSArray *aa = [str componentsSeparatedByString:@"."];     if ([self isPureInt:aa[0]] && [self isPureInt:aa[1]]) {         return YES;     } else {         return NO;     }     }else{         return NO;     }      }

一、判断字符串是否包含某一个字符

NSString *str1 = @"abcd";

NSString *str = @"a";

if ([str1 rangeOfString:str].location != NSNotFound) {

NSLog(@"这个字符串中有a");

}

二、判断字符串中是否包含数字

#pragma mark - 判断字符串是否包含数字

- (BOOL)isStringContainNumberWith:(NSString *)str {

NSRegularExpression *numberRegular = [NSRegularExpression regularExpressionWithPattern:@"[0-9]" options:NSRegularExpressionCaseInsensitive error:nil];

NSInteger count = [numberRegular numberOfMatchesInString:str options:NSMatchingReportProgress range:NSMakeRange(0, str.length)];

//count是str中包含[0-9]数字的个数,只要count>0,说明str中包含数字

if (count > 0) {

return YES;

}

return NO;

}

三、判断字符串中是否包含英文字母

#pragma mark - 判断字符串是否包含数字

- (BOOL)isStringContainNumberWith:(NSString *)str {

NSRegularExpression *numberRegular = [NSRegularExpression regularExpressionWithPattern:@"[A-Za-z]" options:NSRegularExpressionCaseInsensitive error:nil];

NSInteger count = [numberRegular numberOfMatchesInString:str options:NSMatchingReportProgress range:NSMakeRange(0, str.length)];

//count是str中包含[A-Za-z]数字的个数,只要count>0,说明str中包含数字

if (count > 0) {

return YES;

}

return NO;

}

四、判断字符串中是否包含数字和字母

#pragma mark - 判断字符串是否包含数字

- (BOOL)isStringContainNumberWith:(NSString *)str {

NSRegularExpression *numberRegular = [NSRegularExpression regularExpressionWithPattern:@"A-Za-z0-9]" options:NSRegularExpressionCaseInsensitive error:nil];

NSInteger count = [numberRegular numberOfMatchesInString:str options:NSMatchingReportProgress range:NSMakeRange(0, str.length)];

//count是str中包含[A-Za-z0-9]数字的个数,只要count>0,说明str中包含数字

if (count > 0) {

return YES;

}

return NO;

}

//判断是否 是纯数字
 
 

//判断是字符串是否为数字

- (BOOL) deptNumInputShouldNumber:(NSString *)str

{

    NSString *regex = @"[0-9]*";

    NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regex];

    if ([pred evaluateWithObject:str]) {

        return YES;

    }

    return NO;

}

//判断是否包含数子字母

//直接调用这个方法就行

-(int)checkIsHaveNumAndLetter:(NSString*)password{

    //数字条件

    NSRegularExpression *tNumRegularExpression = [NSRegularExpression regularExpressionWithPattern:@"[0-9]"options:NSRegularExpressionCaseInsensitive error:nil];

    

    //符合数字条件的有几个字节

    NSUInteger tNumMatchCount = [tNumRegularExpression numberOfMatchesInString:password

                                                                       options:NSMatchingReportProgress

                                                                         range:NSMakeRange(0, password.length)];

    

    //英文字条件

    NSRegularExpression *tLetterRegularExpression = [NSRegularExpression regularExpressionWithPattern:@"[A-Za-z]" options:NSRegularExpressionCaseInsensitive error:nil];

    

    //符合英文字条件的有几个字节

    NSUInteger tLetterMatchCount = [tLetterRegularExpression numberOfMatchesInString:password options:NSMatchingReportProgress range:NSMakeRange(0, password.length)];

    

    if (tNumMatchCount == password.length) {

        //全部符合数字,表示沒有英文

        return 1;

    } else if (tLetterMatchCount == password.length) {

        //全部符合英文,表示沒有数字

        return 2;

    } else if (tNumMatchCount + tLetterMatchCount == password.length) {

        //符合英文和符合数字条件的相加等于密码长度

        return 3;

    } else {

        return 4;

        //可能包含标点符号的情況,或是包含非英文的文字,这里再依照需求详细判断想呈现的错误

    }

    

}

 

猜你喜欢

转载自blog.csdn.net/yst19910702/article/details/78412378