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


相关推荐: 作用域操作符会触发自动加载吗_php类自动加载机制与::调用【教程】  如何快速上传建站程序避免常见错误?  手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?  Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用  JavaScript如何实现音频处理_Web Audio API如何工作?  Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制  如何在不使用负向后查找的情况下匹配特定条件前的换行符  JS中页面与页面之间超链接跳转中文乱码问题的解决办法  使用Dockerfile构建java web环境  浅述节点的创建及常见功能的实现  Laravel怎么进行数据库事务处理_Laravel DB Facade事务操作确保数据一致性  Laravel如何记录自定义日志?(Log频道配置)  zabbix利用python脚本发送报警邮件的方法  米侠浏览器网页背景异常怎么办 米侠显示修复  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  ,交易猫的商品怎么发布到网站上去?  Laravel如何操作JSON类型的数据库字段?(Eloquent示例)  canvas 画布在主流浏览器中的尺寸限制详细介绍  Midjourney怎么调整光影效果_Midjourney光影调整方法【指南】  如何用搬瓦工VPS快速搭建个人网站?  微博html5版本怎么弄发语音微博_语音录制入口及时长限制操作【教程】  简单实现jsp分页  bootstrap日历插件datetimepicker使用方法  php打包exe后无法访问网络共享_共享权限设置方法【教程】  如何打造高效商业网站?建站目的决定转化率  Laravel如何使用查询构建器?(Query Builder高级用法)  高性价比服务器租赁——企业级配置与24小时运维服务  高防服务器如何保障网站安全无虞?  文字头像制作网站推荐软件,醒图能自动配文字吗?  详解jQuery中基本的动画方法  Android okhttputils现在进度显示实例代码  如何在橙子建站上传落地页?操作指南详解  Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】  如何用VPS主机快速搭建个人网站?  Laravel如何将应用部署到生产服务器_Laravel生产环境部署流程  bing浏览器学术搜索入口_bing学术文献检索地址  Laravel中Service Container是做什么的_Laravel服务容器与依赖注入核心概念解析  如何在Windows虚拟主机上快速搭建网站?  HTML透明颜色代码怎么让图片透明_给img元素加透明色的技巧【方法】  浅谈redis在项目中的应用  Android 常见的图片加载框架详细介绍  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  Laravel如何使用Sanctum进行API认证?(SPA实战)  电视网站制作tvbox接口,云海电视怎样自定义添加电视源?  音乐网站服务器如何优化API响应速度?  php读取心率传感器数据怎么弄_php获取max30100的心率值【指南】  深圳网站制作培训,深圳哪些招聘网站比较好?  Laravel用户认证怎么做_Laravel Breeze脚手架快速实现登录注册功能  动图在线制作网站有哪些,滑动动图图集怎么做?  车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?