Unity屏蔽emoji

在開發網絡遊戲的聊天功能模塊時,須要對字符長度進行限制以避免發送超長包,不過由於玩家輸入了emoji後會致使長度沒法正常處理,此時偷懶的辦法就是限制emoji的輸入git

在UGUI的InputField進行輸入時執行該方法:github

using UnityEngine;
using UnityEngine.UI;
using System.Collections;
using System.Text.RegularExpressions;
public class InputRestrictionEmoji : MonoBehaviour {網絡

InputField mtext;code

private void Start()
{
mtext = GetComponent<InputField>();
if(mtext)
{
mtext.onValueChanged.AddListener(OnInputValue);
}
}blog

void OnInputValue(string value)
{
try
{
string msg = mtext.text;
//屏蔽emoji
string result = Regex.Replace(msg, @"\p{Cs}", "");
mtext.text = result;
}
catch
{
Debug.Log("輸入異常文字,出錯");
mtext.text = "";
}
}
}遊戲

 

若是仍是不放心能夠try-catch一下,記得還要限制一下字符長度啊開發

特別感謝:string

EmojiText https://github.com/zouchunyi/EmojiTextit

Unity-UI-emoji https://github.com/mcraiha/Unity-UI-emojiio

twemoji https://github.com/twitter/twemoji

相關文章
相關標籤/搜索