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脚手架快速实现登录注册功能
动图在线制作网站有哪些,滑动动图图集怎么做?
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?

