正则替换敏感词汇

目的:把文本1中的内容过滤一些字符后写入 文本2

思路:可以利用RegExp(正则表达式)的全局匹配字符g和String(字符串)的replace可以完成替换。

先要通过input设置两个文本text1 、text2,并设置id以便通过JS获取里面的value值来进行替换,在JS 里面通过document.getElementById("id");来获取id,注意id要加上引号;replace在使用的时候注意replace(a,"b"); a:为要查找的字符集合,b:替换后的字体,要加上引号,否则无法替换。正则表达式的全局匹配字符g在使用的时候在前面加上斜杠//把要替换的字符放到里面,如果有多个要用竖线|(Shift键+Enter上面的键)隔开。

代码如下:

<body>

<textarea rows="20" cols="20" id="text1"></textarea>;

<button id="btn">过滤</button>;

<textarea rows="20" cols="20" id="text2"></textarea>;

<script>

var text1=document.getElementById("text1");

var text2=document.getElementById("text2");

var btn=document.getElementById("btn");

var rep=/cao|草|曹操|他妈的/g;

btn.onclick=function(){

text2.value=text1.value.replace(rep,'*');

};

</script>

</body>

 

当在文本1输入"草"、 "曹操"、 "他妈的"等字符会被替换成特殊字符 "*"在文本2中显示,其中 "他妈的"在文本2中显示为1个"*",若要替换其他字符可以在rep 的/ /里面加上并以|相隔,效果如下:

原文地址:https://www.cnblogs.com/bonly-ge/p/6749994.html