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

废话不说,直接上代码

#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;

}
时间: 2024-08-04 15:08:01

iOS 中文字符判断 正则NSRegularExpression 谓词NSPredicate 和 NSRange的相关文章

iOS:转载:IOS谓词--NSPredicate

IOS谓词--NSPredicate 分类: IOS应用2013-02-19 17:24 6792人阅读 评论(1) 收藏 举报 Cocoa 提供了NSPredicate 用于指定过滤条件,谓词是指在计算机中表示计算真假值的函数,它使用起来有点儿像SQL 的查询条件,主要用于从集合中分拣出符合条件的对象,也可以用于字符串的正则匹配.首先我们看一个非常简单的例子,对谓词有一个认知.#import <Foundation/Foundation.h>@interface Person: NSObje

iOS 之谓词 NSPredicate

NSPredicate:谓词 NSPredicate的具体用途应该还是过滤,类似于过滤条件之类的. 一.NSpredicate的创建: NSpredicate *predicate  = [NSpredicate  predicateWithFormat:@"age > 28"]; //筛选条件       predicateWithFormat:为类方法 ,不需要我们管理内存. 二.NSpredicate中主要的几种运算方式      1.比较运算符 > .< .=

判断中文字符的八种方法C#

软件开发技术交流,同学习共进步,欢迎加群, 群号:169600532  前段时间看见一些判断中文字符的方法,特整理出来,供以后用时方便 方法一 在unicode 字符串中,中文的范围是在4E00..9FFF:CJK Unified Ideographs. 通过对字符的unicode编码进行判断来确定字符是否为中文. protected bool IsChineseLetter(string input,int index) { int code = 0; int chfrom = Convert

判断 sql 中是否含有中文字符-----待验证

select ascii(字段)数字:48-57字母:65-123汉字:123+ select * from t1 where len(unicode(c1)) < 5; 判断c1第一个字符是否是中文,小于5,非中文 SQL判断某列中是否包含中文字符.英文字符.纯数字 一.包含中文字符 select * from 表名 where 列名 like '%[吖-座]%' 二.包含英文字符 select * from 表名 where 列名 like '%[a-z]%' 三.包含纯数字 select

判断一个字符串中是否含有中文字符:

python中的encode和decode: 首先,在Python中字符串的表示是 用unicode编码.所以在做编码转换时,通常要以unicode作为中间编码. decode的作用是将其他编码的字符串转换成unicode编码,比如 a.decode('utf-8'),表示将utf-8编码的字符串转换成unicode编码 encode的作用是将unicode编码的字符串转换成其他编码格式的字符串,比如b.encode('utf-8'),表示将unicode编码格式转换成utf-8编码格式的字符串

Java 判断中文字符

Java判断一个字符串中是否有中文字符有两种方法,但是原理都一样,就是通过Unicode编码来判断,因为中文在Unicode中的编码区间为:0x4e00--0x9fa5 第一种: String chineseStr = "中华人民公社abc"; char[] charArray = chineseStr.toCharArray(); for(int i=0;i<charArray.length;i++){ if ((charArray[i] >= 0x4e00)&&

判断文章中文字符数量

dim WINNT_CHINESE WINNT_CHINESE = (len("论坛")=2) function strLength(str) ON ERROR RESUME NEXT if WINNT_CHINESE then dim l,t,c dim i l=len(str) t=l for i=1 to l c=asc(mid(str,i,1)) if c<0 then c=c+65536 if c>255 then t=t+1 end if next strLen

jQuery判断字符串是否含有中文字符

//判断字符串是不是中文String.prototype.isChinese = function () {    var reg = /[^\x00-\xff]/ig;//判断是否存在中文和全角字符//    var reg=/[A-Za-z]*[a-z0-9_-]|\s$/;//判断是否包含数字字母下划线  当使用这个时如果只有部分是中文字符还可以使用英文字体    if (reg.test(this)) {        return true;//存在中文    }    return

Java - 判断字符串是否包含中文字符

代码: package com.huey.dream.utils; import java.util.regex.Matcher; import java.util.regex.Pattern; public class StringUtils { static String CN_REGEX = "[\u4e00-\u9fa5]"; // 匹配中文字符的正则表达式 static Pattern CN_PATTERN = Pattern.compile(CN_REGEX); /** *