// 文本中的emoji表情處理 $(document).ready(function(){ //$("textarea,input").on("keyup",function(){ // //$.message("aaa!"); // var data=removeExpression($(this).val()); // if(data.have==true){ // alert("請勿輸入無法識別的表情符號!"); // $(this).val(data.str); // } //}); $("textarea,input").on("blur",function(){ var data=removeExpression($(this).val()); if(data.have==true){ $.message("檢測到無法識別的表情符號,已自動去除!"); $(this).val(data.str); } }); }); //去除表情 function removeExpression(str) { var patt=/[\ud800-\udbff][\udc00-\udfff]/g; // 檢測utf16字符正則 var have=false; str = str.replace(patt, function(char){ var H, L, code; if (char.length===2) { have=true; return ""; } else { return char; } }); //if(have==true) // $.message("請勿輸入無法識別的表情符號!"); return {"have":have,"str":str}; } //將表情轉換成字符串 function transformationExpression (str) { var patt=/[\ud800-\udbff][\udc00-\udfff]/g; // 檢測utf16字符正則 str = str.replace(patt, function(char){ var H, L, code; if (char.length===2) { H = char.charCodeAt(0); // 取出高位 L = char.charCodeAt(1); // 取出低位 code = (H - 0xD800) * 0x400 + 0x10000 + L - 0xDC00; // 轉換算法 return "&#" + code + ";"; } else { return char; } }); return str; }
文本域和輸入框中的表情(emoji)處理
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.