【code_小马】检测字符串中是否含有系统表情

我们是工程师 ——加油 !

- 方法函数

//【NSString 调用】返回YES/NO

//检测字符串中是否存在表情
- (BOOL)stringContainsEmoji:(NSString *)string
{
    __block BOOL returnValue = NO;
    
    [string enumerateSubstringsInRange:NSMakeRange(0, [string length])
                               options:NSStringEnumerationByComposedCharacterSequences
                            usingBlock:^(NSString *substring, NSRange substringRange, NSRange enclosingRange, BOOL *stop) {
                                const unichar hs = [substring characterAtIndex:0];
                                if (0xd800 <= hs && hs <= 0xdbff) {
                                    if (substring.length > 1) {
                                        const unichar ls = [substring characterAtIndex:1];
                                        const int uc = ((hs - 0xd800) * 0x400) + (ls - 0xdc00) + 0x10000;
                                        if (0x1d000 <= uc && uc <= 0x1f77f) {
                                            returnValue = YES;
                                        }
                                    }
                                } else if (substring.length > 1) {
                                    const unichar ls = [substring characterAtIndex:1];
                                    if (ls == 0x20e3) {
                                        returnValue = YES;
                                    }
                                } else {
                                    if (0x2100 <= hs && hs <= 0x27ff) {
                                        returnValue = YES;
                                    } else if (0x2B05 <= hs && hs <= 0x2b07) {
                                        returnValue = YES;
                                    } else if (0x2934 <= hs && hs <= 0x2935) {
                                        returnValue = YES;
                                    } else if (0x3297 <= hs && hs <= 0x3299) {
                                        returnValue = YES;
                                    } else if (hs == 0xa9 || hs == 0xae || hs == 0x303d || hs == 0x3030 || hs == 0x2b55 || hs == 0x2b1c || hs == 0x2b1b || hs == 0x2b50) {
                                        returnValue = YES;
                                    }
                                }
                            }];
    
    return returnValue;
} 


 

  • 使用方法
[NSString  stringContainsEmoji:@"这里写你要检索的字符串"];

//例如:我要检测 YGTextView里输入的文字有没有表情字符

[NSString  stringContainsEmoji:_YGTextView.text];



  • 如果使用的地方比较多,也可以把它写成类方法,封装到工具类里边,随用随取。
    如果对于封装工具类不是很清楚,可以留意下我的下一篇文章。【code_小马】iOS工具类的封装,手把手的教哟,有代码,可以直接复制粘贴到项目里的哟
【code_小马】检测字符串中是否含有系统表情_第1张图片
我们是工程师 ——加油 !.jpg
我只想做一个快乐的工程师,而不是单单想做个比较优秀的程序员!!
——code_小马
  • 晌午时光 :
    很喜欢的一片文章,拿出来跟大家分享

今天,我坐在这里,距离我第一次见到他的时候整整20年了。然而,我闭上眼睛仿佛还能见到那个满身雨水的小男孩怔怔的看着我。那目光并没有因为时间的累积而模糊,反而像穿过绵长的时光深深地烙印在我的心里,永世不忘…    
我的父母早早的就过世了,我跟身体虚弱的奶奶相依为命,13平的小卖店是我们生活的唯一来源。但是我没觉得有任何的不幸,没去过天堂,地狱也是好的。    
最初让我体会到幸福感的是奶奶捡来的东西,没有额外的钱去买,捡就是最好的替代方式。于是我有了断臂的娃娃,不合脚的胶鞋,还有一个弟弟。他来的那天,风雨交加。我从窗子望见奶奶拉着个什么回来,我以为又捡回了礼物,高兴得在门口迎着,于是,我见到了他。这个场景是我回想过无数次的:他破衣烂衫,脸脏的看不清楚容貌,眼睛却十分明亮,不说一句话,水珠从睫毛滴下,不眨眼的怔怔的看着我。很奇怪,当时我没有一点的惊讶,好像预知了他在这个时候会走进我的生命一样。    “洗脸吧。”    “嗯。”    这是我们的第一次对话。    
“好几天了,睡在垃圾堆那边,太可怜啦!”奶奶一边咳一边说,“一起过吧,好歹是个仔。”     “你叫什么?”我望着一盆黑水和他变戏法一样越来越清晰的眉眼说。  “魏。”他低语。  “卫?阿卫?”我问。

【后续更新文章】下一集

你可能感兴趣的:(【code_小马】检测字符串中是否含有系统表情)