UITextView禁止输入emoji表情

作者: Easy_VO | 来源:发表于2017-04-09 12:48 被阅读622次

    前几天项目需求中有个申请售后相关的,售后说明是一个textview在用户输入emoji表情的时候就会提交申请售后失败;

    原因很简单,后端没有存储响应的emoji字符编码;

    解决办法:
    1、让后端同学加上emoji的字符编码到数据库,
    2、从最开始用户输入的时候就禁止掉;
    上干货吧:
    - (void)textViewDidChange:(UITextView *)textView{
    if (textView.text.length > 0) {
    // 禁止系统表情的输入
    NSString *text = [self disable_emoji:[textView text]];
    if (![text isEqualToString:textView.text]) {
    NSRange textRange = [textView selectedRange];
    textView.text = text;
    [textView setSelectedRange:textRange];
    }
    }
    }

    - (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;
    }

    相关文章

      网友评论

        本文标题:UITextView禁止输入emoji表情

        本文链接:https://www.haomeiwen.com/subject/koddattx.html