您的位置:首页 > 产品设计 > UI/UE

UITextView中禁止输入表情Emoji

2016-01-26 15:12 465 查看
在UITextView代理方法中调用以下2个方法

- (void)textViewDidChange:(UITextView *)textView {
if (![self isValidString:textView.text]) {//如果输入框中有表情
textView.text = [self disableEmoji:textView.text];//去掉输入框的表情
}


**这个方法的作用的讲输入框中的表情去掉

- (NSString *)disableEmoji:(NSString *)text {
NSString *result = [NSString replaceWithRegx:text findPattern:@"[^\\u0020-\\u007E\\u00A0-\\u00BE\\u2E80-\\uA4CF\\uF900-\\uFAFF\\uFE30-\\uFE4F\\uFF00-\\uFFEF\\u0080-\\u009F\\u2000-\\u201f\r\n]" replacePattern:@""];
return result;
}


这个方法是判断输入框中是否有表情

- (BOOL)isValidString:(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];
NSTextCheckingResult *result = [regex firstMatchInString:text options:NSMatchingWithTransparentBounds range:NSMakeRange(0, text.length)];
if (result) {
return NO;
}
return YES;
}


这个方法是前面disableEmoji方法中所调的一个方法

- (NSString *)replaceWithRegx:(NSString *)source findPattern:(NSString *)findPattern replacePattern:(NSString *)replacePattern {
NSRegularExpression *regularExpression = [NSRegularExpression regularExpressionWithPattern:findPattern options:0 error:nil];
return [regularExpression stringByReplacingMatchesInString:source options:0 range:NSMakeRange(0, source.length) withTemplate:replacePattern];
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  textview ios开发