本例中敏感词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
相关文章:
网站设计制作公司地址,网站建设比较好的公司都有哪些?
网站制作员失业,怎样查看自己网站的注册者?
如何快速搭建支持数据库操作的智能建站平台?
宝塔面板创建网站无法访问?如何快速排查修复?
广州网站建站公司选择指南:建站流程与SEO优化关键词解析
c# 在高并发下使用反射发射(Reflection.Emit)的性能
如何快速打造个性化非模板自助建站?
宁波免费建站如何选择可靠模板与平台?
如何使用Golang安装API文档生成工具_快速生成接口文档
高端网站建设与定制开发一站式解决方案 中企动力
完全自定义免费建站平台:主题模板在线生成一站式服务
建站之星如何快速解决建站难题?
建站之星3.0如何解决常见操作问题?
建站之星安装后如何自定义网站颜色与字体?
,南京靠谱的征婚网站?
建站之星代理费用多少?最新价格详情介绍
如何在服务器上三步完成建站并提升流量?
建站之星后台管理系统如何操作?
如何在IIS服务器上快速部署高效网站?
实惠建站价格推荐:2025年高性价比自助建站套餐解析
文字头像制作网站推荐软件,醒图能自动配文字吗?
如何高效完成自助建站业务培训?
专业型网站制作公司有哪些,我设计专业的,谁给推荐几个设计师兼职类的网站?
公司网站的制作公司,企业网站制作基本流程有哪些?
北京营销型网站制作公司,可以用python做一个营销推广网站吗?
个人摄影网站制作流程,摄影爱好者都去什么网站?
北京建设网站制作公司,北京古代建筑博物馆预约官网?
一键制作网站软件下载安装,一键自动采集网页文档制作步骤?
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?
深入理解Android中的xmlns:tools属性
建站之星24小时客服电话如何获取?
C#怎么使用委托和事件 C# delegate与event编程方法
网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?
如何访问已购建站主机并解决登录问题?
我的世界制作壁纸网站下载,手机怎么换我的世界壁纸?
孙琪峥织梦建站教程如何优化数据库安全?
济南网站制作的价格,历城一职专官方网站?
Python路径拼接规范_跨平台处理说明【指导】
网站制作哪家好,cc、.co、.cm哪个域名更适合做网站?
如何高效配置香港服务器实现快速建站?
网站制作免费,什么网站能看正片电影?
如何在云指建站中生成FTP站点?
定制建站价位费用解析与套餐推荐全攻略
广州建站公司哪家好?十大优质服务商推荐
已有域名如何免费搭建网站?
昆明高端网站制作公司,昆明公租房申请网上登录入口?
小型网站制作HTML,*游戏网站怎么搭建?
如何确认建站备案号应放置的具体位置?
惠州网站建设制作推广,惠州市华视达文化传媒有限公司怎么样?
*请认真填写需求信息,我们会在24小时内与您取得联系。