iOS 输入框过滤emoji表情

//  通过创建一个NSString 的category类目实现最后输入的表情的过滤 输入框粘贴功能需要关闭也就是只能输入

关闭输入框粘贴功能点击此链接

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

    __blockBOOL isEomji =NO;

    [stringenumerateSubstringsInRange:NSMakeRange(0, [stringlength]) options:NSStringEnumerationByComposedCharacterSequencesusingBlock:

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

         constunichar hs = [substringcharacterAtIndex:0];

         //         NSLog(@"hs++++++++%04x",hs);

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

             if (substring.length >1) {

                 const unichar ls = [substringcharacterAtIndex:1];

                 const int 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|| ls ==0xfe0f) {

                 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;

}



//过滤表情调用————————————————————————————————————

   BOOL emoji=[NSStringisContainsTwoEmoji:_tittle.text];

   if (emoji){


   //最后输入的是表情截取掉


_tittle.text = [_tittle.textsubstringToIndex:_tittle.text.length -2];

   }








 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值