NSString+Regular.h
@interface NSString (Regular)
/// 只允许汉字、大小写、数字
- (BOOL)isContainsillegalCharacter;
/// 是否含有汉字、空格
- (BOOL)isContainsChineseAndSpace;
// 判断是否是纯汉字
- (BOOL)isChinese;
// 判断是否含有汉字、空格(建议使用)
- (BOOL)isIncludeChineseAndSpace;
@end
NSString+Regular.m
@implementation NSString (Regular)
- (BOOL)isContainsillegalCharacter {
// 允许汉字、大小写、数字
NSString *str =@"^[A-Za-z0-9\\u4e00-\u9fa5]+$";
NSPredicate* predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", str];
//NSLog(@"self = %@", self);
if ([predicate evaluateWithObject:self]) {
return NO;
}
return YES;
}
- (BOOL)isContainsChineseAndSpace {
NSString *str = @"[\u4e00-\u9fa5 ]";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", str];
if ([predicate evaluateWithObject:self]) {
return YES;
}
return NO;
}
- (BOOL)isChinese {
NSString *match = @"(^[\u4e00-\u9fa5]+$)";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF matches %@", match];
return [predicate evaluateWithObject:self];
}
- (BOOL)isIncludeChineseAndSpace {
for(int i=0; i< [self length];i++) {
int a =[self characterAtIndex:i];
if( a >0x4e00&& a <0x9fff) {
return YES;
}
}
if ([self containsString:@" "]) {
return YES;
}
return NO;
}
@end
网友评论