700字范文,内容丰富有趣,生活中的好帮手!
700字范文 > 禁止输入各种表情符号

禁止输入各种表情符号

时间:2022-09-03 18:44:47

相关推荐

禁止输入各种表情符号

[_nameField addTarget:self action:@selector(limitLength:) forControlEvents:UIControlEventEditingChanged];

// 限制字数,区别中英文

- (void)limitLength:(UITextField *)sender

{

bool isChinese;//判断当前输入法是否是中文

if ([[[UITextInputMode currentInputMode] primaryLanguage] isEqualToString: @"en-US"]) {

isChinese = false;

}

else

{

isChinese = true;

}

if(sender == _nameField) {

// 8位

NSString *str = [[_nameField text] stringByReplacingOccurrencesOfString:@"?" withString:@""];

str = [self disable_emoji:str];

if (isChinese) { //中文输入法下

UITextRange *selectedRange = [_nameField markedTextRange];

//获取高亮部分

UITextPosition *position = [_nameField positionFromPosition:selectedRange.start offset:0];

// 没有高亮选择的字,则对已输入的文字进行字数统计和限制

if (!position) {

DLog(@"汉字");

if ( str.length>=kMaxCount) {

NSString *strNew = [NSString stringWithString:str];

[_nameField setText:[strNew substringToIndex:kMaxCount]];

} else {

[_nameField setText:str];

}

}

else {

DLog(@"输入的英文还没有转化为汉字的状态");

}

}else{

DLog(@"str=%@; 本次长度=%d",str,[str length]);

if ([str length]>=kMaxCount) {

NSString *strNew = [NSString stringWithString:str];

[_nameField setText:[strNew substringToIndex:kMaxCount]];

}

}

}

}

- (void)textViewDidChange:(UITextView*)textView{NSRangetextRange = [textViewselectedRange];[textViewsetText:[selfdisable_emoji:[textViewtext]]];[textViewsetSelectedRange:textRange];}

// 详情禁止输入表情符号- (NSString*)disable_emoji:(NSString*)text{NSRegularExpression*regex = [NSRegularExpressionregularExpressionWithPattern:@"[^\\u0020-\\u007E\\u00A0-\\u00BE\\u2E80-\\uA4CF\\uF900-\\uFAFF\\uFE30-\\uFE4F\\uFF00-\\uFFEF\\u0080-\\u009F\\u2000-\\u201f\r\n]"options:NSRegularExpressionCaseInsensitiveerror:nil];NSString*modifiedString = [regexstringByReplacingMatchesInString:textoptions:0range:NSMakeRange(0, [textlength])withTemplate:@""];returnmodifiedString;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。