关于字符串的一些常用判断 是否全部为数字 是否包含有数字 是否包含有英文
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; //可能包含标点符号的情況,或是包含非英文的文字,这里再依照需求详细判断想呈现的错误 } }
相关文章推荐
- java用正则表达式判断字符串中是否仅包含英文字母、数字和汉字 分类: Android JAVA 2015-06-07 21:08 31人阅读 评论(0) 收藏
- java用正则表达式判断字符串中是否仅包含英文字母、数字和汉字
- java用正则表达式判断字符串中是否仅包含英文字母、数字和汉字
- java用正则表达式判断字符串中是否仅包含英文字母、数字和汉字
- java用正则表达式判断字符串中是否仅包含英文字母、数字和汉字
- C# 判断输入的字符串是否只包含数字和英文字母
- java用正则表达式判断字符串中是否仅包含英文字母、数字和汉字
- java用正则表达式判断字符串中是否仅包含英文字母、数字和汉字
- 关于javascript中判断一个字符串是否包含另一个字符串
- java中判断一个字符串是否“都为数字”和“是否包含数字”和“截取数字”
- 分割中文字符串(最终版,包含判断英文和数字)
- java中判断一个字符串是否“都为数字”和“是否包含数字”和“截取数字”
- 判断字符串是否全部是数字
- java中判断一个字符串是否“都为数字”和“是否包含数字”和“截取数字”
- Java判断字符串是否包含一些字符
- 关于js正则表达式判断一个字符串是否是正确的有数字和小数点组成的金钱形式和 判读数值类型的正则表达式
- 判断字符串是否包含数字得一个小函数
- sql 判断字符串中是否包含数字和字母的方法
- java中判断一个字符串是否“都为数字”和“是否包含数字”和“截取数字”
- 判断字符串是否全部是数字