1、限制输入其他第三方的表情
//判断是否输入了emoji表情
+ (BOOL)stringContainsEmoji:(NSString *)string{
__blockBOOL returnValue =NO;
[string enumerateSubstringsInRange:NSMakeRange(0, [string length])
options:NSStringEnumerationByComposedCharacterSequences
usingBlock:^(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) {
returnValue = YES;
}
}
} elseif (substring.length >1) {
constunichar ls = [substringcharacterAtIndex:1];
if (ls ==0x20e3) {
returnValue = YES;
}
} else {
if (0x2100 <= hs && hs <=0x27ff) {
returnValue = YES;
} elseif (0x2B05 <= hs && hs <=0x2b07) {
returnValue = YES;
} elseif (0x2934 <= hs && hs <=0x2935) {
returnValue = YES;
} elseif (0x3297 <= hs && hs <=0x3299) {
returnValue = YES;
} elseif (hs ==0xa9 || hs ==0xae || hs ==0x303d || hs ==0x3030 || hs ==0x2b55 || hs ==0x2b1c || hs ==0x2b1b || hs ==0x2b50) {
returnValue = YES;
}elseif (hs ==0x200d){
returnValue = YES;
}
}
}];
return returnValue;
}
2.限制输入自带的表情符号
// 限制苹果系统输入法 禁止输入表情
if ([[[UITextInputModecurrentInputMode]primaryLanguage] isEqualToString:@"emoji"]) {
returnNO;
}