1、前端使用正则过滤输入内容中含有的表情符号
https://www.cnblogs.com/zt-blog/p/6773854.html
https://blog.csdn.net/libin_1/article/details/51483815
const regStr = /[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF]
[\u200D|\uFE0F]|[\uD83C|\uD83D|\uD83E][\uDC00-\uDFFF]|
[0-9|*|#]\uFE0F\u20E3|[0-9|#]\u20E3|[\u203C-\u3299]\uFE0F\u200D|
[\u203C-\u3299]\uFE0F|[\u2122-\u2B55]|\u303D|[\A9|\AE]\u3030|\uA9|\uAE|\u3030/ig;
const testStr = "😃😃sssss";
testStr.replace(regStr,"")
上面的正则可以匹配iOS10.2.1及之前的全部emoji表情,Android的表情因为比较多,如上面的正则有遗漏,可自行补充。测试一个表情的编码方法如下:
<input type="text" />
var org_val = $("input").val();
console.log(escape(org_val));
//escape得到%uD83C%u.........格式的编码,可对应成\u...格式
2、从html富文本中提取纯文本
其实从html富文本中提取纯文本很简单,富文本基本上是使用html标签给文本加上丰富多彩的样式。
所以只需要将富文本字符串中的<.....>
标签剔除,即可得到纯文本。我们可以使用正则表达式,来匹配所有的html标签,并替换成空字符,如下:
//html剔除富文本标签,留下纯文本
function getSimpleText(html){
const re1 = new RegExp("<.+?>","g");//匹配html标签的正则表达式,"g"是搜索匹配多个符合的内容
const msg = html.replace(re1,'');//执行替换成空字符
return msg;
}
3、去掉字符串的空格和换行
//去除空格
String.prototype.Trim = function() {
return this.replace(/\s+/g, "");
}
var feedbackContent = params.feedbackContent
//去掉所有的换行符
feedbackContent = feedbackContent.replace(/\r\n/g,"")
feedbackContent = feedbackContent.replace(/\n/g,"");
//去掉所有的空格(中文空格、英文空格都会被替换)
feedbackContent = feedbackContent.replace(/\s+/g, "");
网友评论