最近遇到了乙個需求,就是在設定賬號名稱中禁止輸入表情,就把該知識點整理了一下,記錄以便下次查詢. 可能還有不完善之處,請各位補充。
方法1:此方法個別表情識別不出來 比如我的華為手機 **表情 不能識別
//此方法個別表情識別不出來 比如我的華為手機 **表情 不能識別
//去除表情規則
// \u0020-\\u007e 標點符號,大小寫字母,數字
// \u2e80-\\ua4cf 繁簡中文,日文,韓文 彝族文字
// \uf900-\\ufaff 部分漢字
// \ufe30-\\ufe4f 特殊標點(︴︵︶︷︸︹)
// \uff00-\\uffef 日文 (オカキクケコサ)
// \u2000-\\u201f 特殊字元(‐‑‒–—―‖‗『』‚‛「」„‟)
// 注:對照表
// [^\\u0020-\\u007e\\u00a0-\\u00be\\u2e80-\\ua4cf\\uf900-\\ufaff\\ufe30-\\ufe4f\\uff00-\\uffef\\u2000-\\u201f\r\n]
public static boolean isemoj(string str)
return false;
}
方法2:此方法個別表情識別不出來 比如我的華為手機 **表情 不能識別
//此方法個別表情識別不出來 比如**表情
edt.addtextchangedlistener(new textwatcher()
@override
public void ontextchanged(charsequence s, int start, int before, int count)
if (nocontainsemoji(edt.gettext().tostring()))
}@override
public void aftertextchanged(editable s)
});private boolean nocontainsemoji(string str)
}return false;
}private boolean isemojicharacter(char codepoint)
方法3:此方法個別表情識別不出來 比如我的華為手機 **表情 不能識別
//此方法個別表情識別不出來 比如**表情
public static boolean isemoj2(string substring)
}} else if (substring.length() > 1)
} else else if (0x2b05 <= hs && hs <= 0x2b07) else if (0x2934 <= hs && hs <= 0x2935) else if (0x3297 <= hs && hs <= 0x3299) else if (hs == 0xa9 || hs == 0xae || hs == 0x303d || hs == 0x3030
|| hs == 0x2b55 || hs == 0x2b1c || hs == 0x2b1b
|| hs == 0x2b50) }}
return false;
}
//過濾掉表情 可識別我華為手機 qq裡面的 **表情 edt為輸入框id
edt.setfilters(new inputfilter);
public class emojiexcludefilter implements inputfilter
}return null;}}
輸入框限制輸入表情
前些日子寫專案,測試提出要求要禁止表情的錄入,在uitextfield這個 方法中shouldchangecharactersinrange,只能夠限制鍵盤上的表情不能錄入,但是錄入時聯想上的表情還是能夠錄入,所以最終用了下邊的方法,但是可能還會有問題。究其原因,測試說防止資料庫的表被注入什麼的,但...
div 模擬輸入框,支援輸入表情
1.html結構 div idv clock click emojiclose div class editbox div class edit contenteditable true placeholder 發現乙個好玩的歌房,快來一起玩吧 v on input inputchange even...
輸入框插入表情包
點選我 主要思路 當點選某個元素的時候,讓乙個輸入框,插入指定的值。1.當點選某個元素的時候,應該讓輸入框獲取焦點,因為只有獲得了焦點,才能在裡面輸入值 ie下 document.selection.createrange ff下 var start dthis.selectionstart 獲取焦...