關於字串的一些常用判斷 是否全部為數字 是否包含有數字 是否包含有英文
//判斷是否為整形: - (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;
}