JS使用ActiveXObject实现用户提交表单时屏蔽敏感词功能

发布时间 - 2026-01-11 01:57:36    点击率:

本例中敏感词ciku.txt放在C盘根目录下,采用的ActiveXObject插件获取本地文件内容。使用此插件不需网上下插件,直接用如下js代码即可。

浏览器需修改interner安全选项的级别,启用ActiveX才能获取到代码中的ActiveXObject插件。如下图所示:

js代码实现如下:

<script type="text/javascript">
    // -------------- 全局变量,用来判断文本域中是否包含脏词,默认为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;
    }
    /*
    * 提交表单的主方法
    * 在提交表单的时候对内容进行过滤并在文本域显示过滤后的内容
    */
    function submitForm1() {
      var messageValue=document.getElementById("message").value;
      var cikuStr=readFile();
      var cikuArr= new Array();                 //定义数组,存储敏感词 
      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("你的留言中含有不恰当的词语,系统已自动为你修改,是否继续提交?");
          break;
        }else{                        //无敏感字符,直接提交表单
          document.getElementById("message_board").submit();
          break;
        }       
      }
      if(ifs){                        //用户点击确定,则提交表单
        document.getElementById("message_board").submit();
      }   
    }
    /*
    * 对传进来的messageValue过滤并返回新内容    
    */
    function filterWord(messageValue){
      // 根据文本域的id获取文本域对象内容
      var cikuStr=readFile();
      var cikuArr= new Array();                 //定义数组,存储敏感词 
      cikuArr=cikuStr.split(" ");               //敏感字符分割到数组内        
      for (var i=0;i<cikuArr.length;i++){ 
        messageValue=filterOneWord(messageValue,cikuArr[i]);//filterOneWord函数每次替换一个字符,需循环调用
      }     
      document.getElementById("message").value=messageValue; //将替换后的内容显示到文本域中  
    }
    /*
    * 这个函数用来过滤单个词语, 如果messageValue中含有oneDirtyWord, 则用"**"替换这个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>


# js实现表单提交  # js  # activexobject  # AngularJS表单提交实例详解  # js表单提交和submit提交的区别实例分析  # 符合标准的js表单提交的代码  # JavaScript使用ActiveXObject访问Access和SQL Server数据库  # JavaScript中使用ActiveXObject操作本地文件夹的方法  # js之ActiveX控件使用说明 new ActiveXObject()  # 原生js ActiveXObject获取execl里面的值  # js借助ActiveXObject实现创建文件  # javascript下用ActiveXObject控件替换word书签  # 将内容导出到word后打印  # 表单  # 放在  # 为你  # 并在  # 中含有  # 所示  # 不需  # 如下图  # 则用  # 不恰当  # 默认为  # 即不  # 本例  # 全局变量  # 盘根  # 目录下  # 网上  # cikuStr  # var  # false 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 怎样使用JSON进行数据交换_它有什么限制  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  深圳网站制作平台,深圳市做网站好的公司有哪些?  如何快速搭建高效香港服务器网站?  JavaScript如何实现错误处理_try...catch如何捕获异常?  如何用AWS免费套餐快速搭建高效网站?  如何在 Python 中将列表项按字母顺序编号(a.、b.、c. …)  Laravel如何理解并使用服务容器(Service Container)_Laravel依赖注入与容器绑定说明  制作企业网站建设方案,怎样建设一个公司网站?  如何在万网开始建站?分步指南解析  大连企业网站制作公司,大连2025企业社保缴费网上缴费流程?  Laravel Vite是做什么的_Laravel前端资源打包工具Vite配置与使用  Laravel如何使用Scope本地作用域_Laravel模型常用查询逻辑封装技巧【手册】  Laravel如何从数据库删除数据_Laravel destroy和delete方法区别  mc皮肤壁纸制作器,苹果平板怎么设置自己想要的壁纸我的世界?  教学论文网站制作软件有哪些,写论文用什么软件 ?  为什么要用作用域操作符_php中访问类常量与静态属性的优势【解答】  Laravel模型关联查询教程_Laravel Eloquent一对多关联写法  微信小程序 canvas开发实例及注意事项  电商网站制作多少钱一个,电子商务公司的网站制作费用计入什么科目?  Laravel如何优雅地处理服务层_在Laravel中使用Service层和Repository层  再谈Python中的字符串与字符编码(推荐)  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  php打包exe后无法访问网络共享_共享权限设置方法【教程】  Chrome浏览器标签页分组怎么用_谷歌浏览器整理标签页技巧【效率】  Python图片处理进阶教程_Pillow滤镜与图像增强  图册素材网站设计制作软件,图册的导出方式有几种?  移动端手机网站制作软件,掌上时代,移动端网站的谷歌SEO该如何做?  如何在 Pandas 中基于一列条件计算另一列的分组均值  Laravel任务队列怎么用_Laravel Queues异步处理任务提升应用性能  如何在服务器上配置二级域名建站?  创业网站制作流程,创业网站可靠吗?  Android GridView 滑动条设置一直显示状态(推荐)  Java垃圾回收器的方法和原理总结  Laravel如何实现事件和监听器?(Event & Listener实战)  如何用好域名打造高点击率的自主建站?  如何用y主机助手快速搭建网站?  Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南  Laravel如何与Docker(Sail)协同开发?(环境搭建教程)  如何选择可靠的免备案建站服务器?  PHP正则匹配日期和时间(时间戳转换)的实例代码  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏  Laravel如何使用Spatie Media Library_Laravel图片上传管理与缩略图生成【步骤】  如何在阿里云ECS服务器部署织梦CMS网站?  奇安信“盘古石”团队突破 iOS 26.1 提权  Laravel怎么导出Excel文件_Laravel Excel插件使用教程  成都网站制作公司哪家好,四川省职工服务网是做什么用?  如何在 Go 中优雅地映射具有动态字段的 JSON 对象到结构体