明輝手游網(wǎng)中心:是一個(gè)免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺(tái)!

JS使用ActiveXObject完成用戶提交表單時(shí)屏蔽敏感詞技巧

[摘要]本例中敏感詞ciku.txt放在C盤根目錄下,采用的ActiveXObject插件獲取本地文件內(nèi)容。 使用此插件不需網(wǎng)上下插件, 直接用如下js代碼即可。 瀏覽器需修改interner安全選項(xiàng)的...

本例中敏感詞ciku.txt放在C盤根目錄下,采用的ActiveXObject插件獲取本地文件內(nèi)容。 使用此插件不需網(wǎng)上下插件, 直接用如下js代碼即可。

瀏覽器需修改interner安全選項(xiàng)的級(jí)別, 啟用ActiveX才能獲取到代碼中的ActiveXObject插件。 如下圖所示:

JS使用ActiveXObject實(shí)現(xiàn)用戶提交表單時(shí)屏蔽敏感詞功能

js代碼實(shí)現(xiàn)如下:

<script type="text/javascript">    // -------------- 全局變量, 用來判斷文本域中是否包含臟詞,默認(rèn)為false,即不包含臟詞-------    var isDirty = false;    //使用ActiveX讀取本地文件獲取dirtyword詞庫      function readFile(){          //var ForReading = 1;       var fso = new ActiveXObject("Scripting.FileSystemObject");       openF = fso.OpenTextFile("c:\\ciku.txt", 1);       var cikuStr= openF.ReadAll();       return cikuStr;    }    /*    * 提交表單的主方法    * 在提交表單的時(shí)候?qū)?nèi)容進(jìn)行過濾并在文本域顯示過濾后的內(nèi)容    */    function submitForm1() {      var messageValue=document.getElementById("message").value;      var cikuStr=readFile();      var cikuArr= new Array();                 //定義數(shù)組,存儲(chǔ)敏感詞       cikuArr=cikuStr.split(" ");               //敏感字符分割                for (var i=0;i<cikuArr.length;i++){         var flag=cikuArr[i];        if(messageValue.indexOf(flag)>=0){          //查找文本域中是否包含敏感字符, 是則替換          filterWord(messageValue);                   var ifs=confirm("你的留言中含有不恰當(dāng)?shù)脑~語,系統(tǒng)已自動(dòng)為你修改,是否繼續(xù)提交?");          break;        }else{                        //無敏感字符, 直接提交表單          document.getElementById("message_board").submit();          break;        }             }      if(ifs){                        //用戶點(diǎn)擊確定, 則提交表單        document.getElementById("message_board").submit();      }       }    /*    * 對(duì)傳進(jìn)來的messageValue過濾并返回新內(nèi)容        */    function filterWord(messageValue){      // 根據(jù)文本域的id獲取文本域?qū)ο髢?nèi)容      var cikuStr=readFile();      var cikuArr= new Array();                 //定義數(shù)組,存儲(chǔ)敏感詞       cikuArr=cikuStr.split(" ");               //敏感字符分割到數(shù)組內(nèi)              for (var i=0;i<cikuArr.length;i++){         messageValue=filterOneWord(messageValue,cikuArr[i]);//filterOneWord函數(shù)每次替換一個(gè)字符, 需循環(huán)調(diào)用      }           document.getElementById("message").value=messageValue; //將替換后的內(nèi)容顯示到文本域中      }    /*    * 這個(gè)函數(shù)用來過濾單個(gè)詞語, 如果messageValue中含有oneDirtyWord, 則用"**"替換這個(gè)oneDirtyWord    * messageValue --- 要過濾的語句    */    function filterOneWord(messageValue,oneDirtyWord){              var str=messageValue.replace(new RegExp(oneDirtyWord,'g'),"**");      return str;              }   </script>

     表單部分代碼:

<body>  <form name="message_board" id="message_board" action="aaa.html">    <textarea name="message" id="message" cols="50" rows="10">"This is you post messsage"——phpdream     </textarea><br/>    <input type="button" value="提交留言" id="submitMessage" onclick="submitForm1()"/>  </form></body>

網(wǎng)站建設(shè)是一個(gè)廣義的術(shù)語,涵蓋了許多不同的技能和學(xué)科中所使用的生產(chǎn)和維護(hù)的網(wǎng)站。