JS-过滤敏感词【RegExp】

来自腾讯课堂笔记:https://ke.qq.com/webcourse/index.html#course_id=152997&term_id=100174752&taid=801037170660773&vid=y1412sc0r8c

知识点:

1: var re = /[我|车|一]+/g;

  也可以写成:var re=/我|车|一/g;

即去掉了[]和+,这个案例中,+表示连续多个,可以不用,但是遇到判断类型那种,就必须要了,其实这个也应该加上额,万一“我”字后面还有一个“我”连着呢?

对与中括号"[]",我恍惚了,他是表示一个集合,把所有的要判断的数据都装起来。如果不用他,我里边改怎么写?后来写上去没问题,看老师的代码,他没有写也可以。这样看来,如果单独就这几个字符,不用加其他的正则表达式的时候,就不需要括号了,就像只算加减法的时候,不用括号他会依次计算,加减法还有乘除法并且你想要先算加减法的时候,就需要括号把他们组合成一个整体了。

2:replace();这里的思路是,让第二个文本框的value等于第一个文本框中内容被修改后的内容,这个内容是通过replace方法进行替换过滤的,而替换方法的括号内部,需要两个参数,第一个是要被替换掉的文字,第二个是要替换成的东西。第一个要替换的文字,用正则做了表达。表达的意思就是这三个字,“我”或“车”或“一”,遇到后都要替换,查找的范围是global全局,即所有的txt1[value]内的内容。

问题:我发现“|”也别过滤掉了。

html

1 <textarea name="" rows="20" cols="20" id="txt1">对于10万元以内购车预算的读者,其实我们可以选择的余地有很多。在自主品牌阵营里,有大量可选的紧凑级轿车或者小型SUV。如果想选择一款合资车型,也有很多合资小型车在这一细分市场中激烈竞争。例如广汽丰田于近期推出的YARiS L 致享(以下简称致享)就是其中之一。作为“新人”,致享要面对的直接竞争对手包括同门师兄——一汽丰田威驰雪佛兰赛欧以及现代悦纳等合资。在众多竞争对手面前,致享的竞争力究竟如何?</textarea>
2 <input type="button" name="" id="btn" value="过滤" />
3 <textarea name="" rows="30" cols="30" id="txt2"></textarea>

script

 1         <script type="text/javascript">
 2         window.onload = function(){
 3             var oBtn = document.getElementById('btn');
 4             var oTxt1 = document.getElementById("txt1");
 5             var oTxt2 = document.getElementById("txt2");
 6             var re = /[我|车|一]+/g;
 7             oBtn.onclick = function(){
 8                 oTxt2.value = oTxt1.value.replace(re,"【@!@!@】");
 9             }
10         }
11           </script>            
posted @ 2017-03-17 11:55  xing.org1^  阅读(1421)  评论(0编辑  收藏  举报