本例中敏感词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
相关文章:
Python如何创建带属性的XML节点
如何撰写建站申请书?关键要点有哪些?
如何获取免费开源的自助建站系统源码?
网站网页制作专业公司,怎样制作自己的网页?
如何在万网开始建站?分步指南解析
宁波自助建站系统如何快速打造专业企业网站?
如何快速搭建二级域名独立网站?
广州网站设计制作一条龙,广州巨网网络科技有限公司是干什么的?
魔方云NAT建站如何实现端口转发?
大连 网站制作,大连天途有线官网?
极客网站有哪些,DoNews、36氪、爱范儿、虎嗅、雷锋网、极客公园这些互联网媒体网站有什么差异?
香港服务器网站搭建教程-电商部署、配置优化与安全稳定指南
桂林网站制作公司有哪些,桂林马拉松怎么报名?
济南企业网站制作公司,济南社保单位网上缴费步骤?
常州自助建站:操作简便模板丰富,企业个人快速搭建网站
建站主机是否等同于虚拟主机?
制作电商网页,电商供应链怎么做?
如何用低价快速搭建高质量网站?
网站专业制作公司有哪些,做一个公司网站要多少钱?
洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?
网站制作和推广的区别,想自己建立一个网站做推广,有什么快捷方法马上做好一个网站?
行程制作网站有哪些,第三方机票电子行程单怎么开?
网站app免费制作软件,能免费看各大网站视频的手机app?
建站主机选择指南:服务器配置与SEO优化实战技巧
网站制作大概要多少钱一个,做一个平台网站大概多少钱?
手机网站制作与建设方案,手机网站如何建设?
*服务器网站为何频现安全漏洞?
广州建站公司哪家好?十大优质服务商推荐
网站设计制作公司地址,网站建设比较好的公司都有哪些?
定制建站价位费用解析与套餐推荐全攻略
如何在新浪SAE免费搭建个人博客?
如何在景安云服务器上绑定域名并配置虚拟主机?
c# Task.ConfigureAwait(true) 在什么场景下是必须的
高端建站三要素:定制模板、企业官网与响应式设计优化
详解jQuery停止动画——stop()方法的使用
如何选择香港主机高效搭建外贸独立站?
如何用景安虚拟主机手机版绑定域名建站?
建站之星代理如何优化在线客服效率?
教育培训网站制作流程,请问edu教育网站的域名怎么申请?
建站之星安装后如何配置SEO及设计样式?
公司网站建设制作费用,想建设一个属于自己的企业网站,该如何去做?
阿里云高弹*务器配置方案|支持分布式架构与多节点部署
已有域名能否直接搭建网站?
如何有效防御Web建站篡改攻击?
制作充值网站的软件,做人力招聘为什么要自己交端口钱?
c# Task.Yield 的作用是什么 它和Task.Delay(1)有区别吗
网站制作大概多少钱一个,做一个平台网站大概多少钱?
广州商城建站系统开发成本与周期如何控制?
如何用腾讯建站主机快速创建免费网站?
智能起名网站制作软件有哪些,制作logo的软件?
*请认真填写需求信息,我们会在24小时内与您取得联系。