iOS NSPredicate特殊字符判断无法正常使用

来源:互联网 发布:dnf经常网络中断2017 编辑:程序博客网 时间:2024/04/29 12:31

1.iOS 10.1 之前一直用这段代码来做特殊字符判断,正常使用。最近用的时候发现无法进行判断了,一直是 return NO。

+ (BOOL)isNoTeShuZiFu:(NSString *)string {

    

    NSString *regex =@"[^a-zA-Z0-9\u4E00-\u9FA5,.?:;()!{}<>#*-+=,。、?:;()!{}+=]➋➌➍➎➏➐➑➒";

    NSPredicate *pred = [NSPredicatepredicateWithFormat:@"SELF MATCHES %@", regex];

    return [predevaluateWithObject: string];

}


2、可检测到字符串中任意位置的特殊字符(方法1失效后找到的另一个可代替方法)

+ (BOOL)isNoTeShuZiFu:(NSString *)string {


    NSString *regex =@"[^a-zA-Z0-9\u4E00-\u9FA5,.?:;()!{}<>#*-+=,。、?:;()!{}+=]➋➌➍➎➏➐➑➒";

    NSRange urgentRange = [stringrangeOfCharacterFromSet: [NSCharacterSetcharacterSetWithCharactersInString: regex]];

    if (urgentRange.location ==NSNotFound)

    {

        returnNO;

    }

    returnYES;

}

1 0
原创粉丝点击