首页 > 移动平台 > 详细

iOS 中文字符判断 正则NSRegularExpression 谓词NSPredicate 和 NSRange

时间:2017-08-29 23:21:56      阅读:579      评论:0      收藏:0      [点我收藏+]

废话不说,直接上代码

#pragma mark - 中文字符判断

- (BOOL)validateContainsChinese:(NSString *)content
{
    NSRegularExpression *regularexpression = [[NSRegularExpression alloc]
                                              initWithPattern:@"^[\u4e00-\u9fa5]"
                                              options:NSRegularExpressionCaseInsensitive
                                              error:nil];
    return ([regularexpression numberOfMatchesInString:content
                                               options:NSMatchingReportProgress
                                                 range:NSMakeRange(0, content.length)] > 0);
}

// 匹配是否为全中文
- (BOOL)validateAllChinese:(NSString *)content
{
    NSString *regEx = @"^[\u4e00-\u9fa5]+$";
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regEx];
    
    return [predicate evaluateWithObject:content];
}

- (BOOL)validateContainsChineseT:(NSString *)content
{
    NSString *regEx = @"^[\u4e00-\u9fa5].+";  // @"^[\u4e00-\u9fa5].*"
    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regEx];
    
    return [predicate evaluateWithObject:content];
}

// 利用rangeOfString:option:直接查找
- (BOOL)validateRangeContainsChinese:(NSString *)content
{
    NSString *regEx = @"^[\u4e00-\u9fa5]";
    NSRange range = [content rangeOfString:regEx options:NSRegularExpressionSearch];
    
    return range.length;
    
}

// 利用rangeOfString:option:直接查找
- (BOOL)validateRangeAllChinese:(NSString *)content
{
    NSString *regEx = @"^[\u4e00-\u9fa5]+S";
    NSRange range = [content rangeOfString:regEx options:NSRegularExpressionSearch];
    
    return range.length;
    
}

 

iOS 中文字符判断 正则NSRegularExpression 谓词NSPredicate 和 NSRange

原文:http://www.cnblogs.com/pruple/p/7450654.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!