iOS 判斷字符串含有表情

-(BOOL)isContainsEmoji:(NSString *)string {

   __blockBOOL isEomji =NO;

    [string enumerateSubstringsInRange:NSMakeRange(0, [stringlength])options:NSStringEnumerationByComposedCharacterSequencesusingBlock:

     ^(NSString *substring,NSRange substringRange,NSRange enclosingRange,BOOL *stop) {

        constunichar hs = [substringcharacterAtIndex:0];

        if (0xd800 <= hs && hs <=0xdbff) {

            if (substring.length >1) {

                constunichar ls = [substringcharacterAtIndex:1];

                constint uc = ((hs -0xd800) *0x400) + (ls -0xdc00) +0x10000;

                if (0x1d000 <= uc && uc <=0x1f77f) {

                     isEomji =YES;

                 }

             }

         }elseif (substring.length >1) {

            constunichar ls = [substringcharacterAtIndex:1];

            if (ls ==0x20e3) {

                 isEomji =YES;

             }

         }else {

            if (0x2100 <= hs && hs <=0x27ff && hs !=0x263b) {

                 isEomji =YES;

             }elseif (0x2B05 <= hs && hs <=0x2b07) {

                 isEomji =YES;

             }elseif (0x2934 <= hs && hs <=0x2935) {

                 isEomji =YES;

             }elseif (0x3297 <= hs && hs <=0x3299) {

                 isEomji =YES;

             }elseif (hs ==0xa9 || hs ==0xae || hs ==0x303d || hs ==0x3030 || hs ==0x2b55 || hs ==0x2b1c || hs ==0x2b1b || hs ==0x2b50|| hs ==0x231a ) {

                 isEomji =YES;

             }

         }

     }];

   return isEomji;

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章