禁止UITextView输入表情
2019-01-17 本文已影响0人
零粹
禁止UITextView输入表情
-(void)textViewDidChange:(UITextView *)textView{
NSRange textRange = [textView selectedRange];
NSString *text = [self disable_emoji:[textView text]];
[textView setText:text];
[textView setSelectedRange:textRange];
}
- (BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text {
//禁止苹果系统输入表情
if ([[UITextInputMode currentInputMode].primaryLanguage isEqualToString:@"emoji"]) {
return NO;
}
return YES;
}
#pragma mark - 使用正则表达式 - 将表情字符串替换为""
- (NSString *)disable_emoji:(NSString *)text{
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"[^\\u0020-\\u007E\\u00A0-\\u00BE\\u2E80-\\uA4CF\\uF900-\\uFAFF\\uFE30-\\uFE4F\\uFF00-\\uFFEF\\u0080-\\u009F\\u2000-\\u201f\r\n]"options:NSRegularExpressionCaseInsensitive error:nil];
NSString *modifiedString = [regex stringByReplacingMatchesInString:text options:0 range:NSMakeRange(0, [text length]) withTemplate:@""];
return modifiedString;
}