詳解Android過濾emoji表情正則表達(dá)式
做了一些信息提交的操作,輸入了Emoji表情時(shí),后臺(tái)數(shù)據(jù)庫無法存儲(chǔ)
原因:UTF-8編碼有可能是兩個(gè)、三個(gè)、四個(gè)字節(jié)。Emoji表情是4個(gè)字節(jié),而Mysql的utf8編碼最多3個(gè)字節(jié),所以數(shù)據(jù)插不進(jìn)去
討論了一些方案,最后還是前端來做過濾,如果是Emoji表情直接干掉,因此也找了一些正則表達(dá)式,記錄下
只過濾一Emoji表情:
[^\u0000-\uFFFF]
過濾Emoji表情和顏文字:
[\\ud83c\\udc00-\\ud83c\\udfff]|[\\ud83d\\udc00-\\ud83d\\udfff]|[\\u2600-\\u27ff]|[\\ud83e\\udd00-\\ud83e\\uddff]|[\\u2300-\\u23ff]|[\\u2500-\\u25ff]|[\\u2100-\\u21ff]|[\\u0000-\\u00ff]|[\\u2b00-\\u2bff]|[\\u2d06]|[\\u3030]
寫了個(gè)靜態(tài)方法使用:
/**
* Emoji表情校驗(yàn)
*
* @param string
* @return
*/
public static boolean isEmoji(String string) {
//過濾Emoji表情
Pattern p = Pattern.compile("[^\\u0000-\\uFFFF]");
//過濾Emoji表情和顏文字
//Pattern p = Pattern.compile("[\\ud83c\\udc00-\\ud83c\\udfff]|[\\ud83d\\udc00-\\ud83d\\udfff]|[\\u2600-\\u27ff]|[\\ud83e\\udd00-\\ud83e\\uddff]|[\\u2300-\\u23ff]|[\\u2500-\\u25ff]|[\\u2100-\\u21ff]|[\\u0000-\\u00ff]|[\\u2b00-\\u2bff]|[\\u2d06]|[\\u3030]");
Matcher m = p.matcher(string);
return m.find();
}
總結(jié)
以上所述是小編給大家介紹的Android過濾emoji表情正則表達(dá)式,希望對(duì)大家有所幫助,如果大家有任何疑問請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
- Python使用正則表達(dá)式去除(過濾)HTML標(biāo)簽提取文字功能
- 利用Python正則表達(dá)式過濾敏感詞的方法
- PHP使用正則表達(dá)式實(shí)現(xiàn)過濾非法字符串功能示例
- Python使用正則表達(dá)式過濾或替換HTML標(biāo)簽的方法詳解
- C#使用正則表達(dá)式過濾html標(biāo)簽
- JS使用正則表達(dá)式過濾多個(gè)詞語并替換為相同長度星號(hào)的方法
- javascript用正則表達(dá)式過濾空格的實(shí)現(xiàn)代碼
- MYSQL使用正則表達(dá)式過濾數(shù)據(jù)
- Java正則表達(dá)式過濾出字母、數(shù)字和中文
- 使用正則表達(dá)式過濾 S3 上以 _$folder$ 結(jié)尾的占位文件的方法
相關(guān)文章
Android 組合控件實(shí)現(xiàn)布局的復(fù)用的方法
本篇文章主要介紹了Android 組合控件實(shí)現(xiàn)布局的復(fù)用的方法,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-08-08
Android動(dòng)畫之逐幀動(dòng)畫(Frame Animation)基礎(chǔ)學(xué)習(xí)
大家都知道逐幀動(dòng)畫是一種常見的動(dòng)畫形式,其原理是在“連續(xù)的關(guān)鍵幀”中分解動(dòng)畫動(dòng)作,也就是在時(shí)間軸的每幀上逐幀繪制不同的內(nèi)容,使其連續(xù)播放而成動(dòng)畫。下面我們就來學(xué)習(xí)下Android中逐幀動(dòng)畫的基礎(chǔ)知識(shí),有需要的可以參考借鑒。2016-09-09
Android編程實(shí)現(xiàn)兩個(gè)Activity相互切換而不使用onCreate()的方法
這篇文章主要介紹了Android編程實(shí)現(xiàn)兩個(gè)Activity相互切換而不使用onCreate()的方法,結(jié)合實(shí)例形式分析了多個(gè)Activity切換而不重新創(chuàng)建的操作技巧,需要的朋友可以參考下2017-01-01
Flutter框架實(shí)現(xiàn)Android拖動(dòng)到垃圾桶刪除效果
這篇文章主要介紹了Flutter框架實(shí)現(xiàn)Android拖動(dòng)到垃圾桶刪除效果,Flutter框架中的Draggable部件,用于支持用戶通過手勢(shì)拖動(dòng),它是基于手勢(shì)的一種方式,可以使用戶可以在屏幕上拖動(dòng)指定的部件,下面我們來詳細(xì)了解一下2023-12-12
Android?換膚實(shí)現(xiàn)指南demo及案例解析
這篇文章主要為大家介紹了Android換膚指南demo及案例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-06-06
Android靜態(tài)變量的生命周期 簡(jiǎn)單介紹
Android靜態(tài)變量的生命周期 簡(jiǎn)單介紹,需要的朋友可以參考一下2013-06-06

