下面的例子,会将用户提交的新留言中的敏感词显示为*号。
html部分
<div id="edit">
<p>请输入你的留言:</p>
<p>
<textarea id="contentInput" name="" rows="5" cols="60"></textarea>
</p>
<p><a class="send" id="sendBtn">发送</a></p>
</div>
<div id="commentlist">
<div class="comment" id="comment">
<p>李四:</p>
<p style="word-break: break-all;">
</p>
<p style="text-align: right;">2018/9/4 16:06</p>
</div>
</div>
js部分
function $(id) {
return document.getElementById(id);
}
$("sendBtn").onclick = function() {
var arr = ["xxx","bbb"];
var str = $("contentInput").value;
// 去字符串检查每一个敏感词汇 假如查找到 就用*替换
for(var i = 0;i<arr.length; i++){
var reg = new RegExp(arr[i],"g");
//或者也可以 var reg = eval("/"+arr[i]+"/g");
str = str.replace(reg,"*");
}
var oDiv = $("comment").cloneNode(true); //连同子元素一起克隆
oDiv.children[1].innerHTML = str;
oDiv.children[2].innerHTML = new Date().toLocaleString(); //获取提交时间
$("commentlist").insertBefore(oDiv,$("commentlist").children[0]); //插入第一个子元素上方
}