您的位置:首页 > 其它

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

2017-11-01 11:42 453 查看


//判断是否为整形:
- (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;        //可能包含标点符号的情況,或是包含非英文的文字,这里再依照需求详细判断想呈现的错误    }    }


                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐