IOS程序开发之禁止输入表情符号实例代码

时间:2022-09-19 20:25:33

废话不多说了,先给大家展示效果图。

一,效果图。

IOS程序开发之禁止输入表情符号实例代码

二,工程图。

IOS程序开发之禁止输入表情符号实例代码

三,代码。

rootviewcontroller.h

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#import <uikit/uikit.h>
@interface rootviewcontroller : uiviewcontroller
<uitextviewdelegate>
@end
rootviewcontroller.m
- (void)viewdidload
{
[super viewdidload];
// do any additional setup after loading the view.
//初始化背景
[self addview];
}
#pragma -mark -functions
-(void)addview
{
uitextview *textview=[[uitextview alloc]initwithframe:cgrectmake(50, 100, 200, 50)];
textview.backgroundcolor=[uicolor redcolor];
textview.delegate=self;
[self.view addsubview:textview];
}
#pragma -mark -uitextviewdelegate
- (void)textviewdidchange:(uitextview *)textview
{
nsrange textrange = [textview selectedrange];
[textview settext:[self disable_emoji:[textview 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;
}