比如我有一个脏字列表:"操|他妈的|FUCK"
如果有遇到这些就替换成"***"有没有高效的写法?
网上找到一个replace的方法:document.body.innerHTML = document.body.innerHTML.replace(/脏字/gi, '**');
还有没有更高效的方法,还有我想问下那个后面“/gi"是什么意思??

解决方案 »

  1.   

    document.body.innerHTML = document.body.innerHTML.replace(/(脏字)|日|死|靠/gi, '**');
      

  2.   


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
     <head>
      <title> new document </title>
      <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
     </head> <body>
      这是一篇很错脏字的文章操他妈的这是一篇很错脏字的文章这是一篇很错脏字的文章操他妈的这是一篇很错脏字的文章FUCK这是一篇很错脏字的文章这是一篇很错脏字的文章靠这是一篇很错脏字的文章这是一篇很错脏字的文章日FUCK这是一篇很错脏字的文章这是一篇很错脏字的文章靠这是一篇很错脏字的文章这是一篇很错脏字的文章日
      这是一篇很错脏字的文章操他妈的这是一篇很错脏字的文章这是一篇很错脏字的文章操他妈的这是一篇很错脏字的文章FUCK这是一篇很错脏字的文章这是一篇很错脏字的文章靠这是一篇很错脏字的文章这是一篇很错脏字的文章日FUCK这是一篇很错脏字的文章这是一篇很错脏字的文章靠这是一篇很错脏字的文章这是一篇很错脏字的文章日"
     </body>
      <script type="text/javascript">
    var dirtyWord = '操他妈|日|Fuck|靠'; // 维护脏字列表 用|号分隔.
    document.body.innerHTML = document.body.innerHTML.replace(new RegExp(dirtyWord, 'gi'), function($0){
    return new Array($0.length + 1).join('*');
    });
      </script>
    </html>