本例中敏感词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
相关文章:
建站主机解析:虚拟主机配置与服务器选择指南
学校免费自助建站系统:智能生成+拖拽设计+多端适配
建站之星2.7模板快速切换与批量管理功能操作指南
php json中文编码为null的解决办法
建站之星后台密码遗忘如何找回?
淘宝制作网站有哪些,淘宝网官网主页?
如何通过商城自助建站源码实现零基础高效建站?
建站之星安装路径如何正确选择及配置?
如何在景安服务器上快速搭建个人网站?
建站之星如何防范黑客攻击与数据泄露?
jQuery 常见小例汇总
网站专业制作公司有哪些,做一个公司网站要多少钱?
C++如何编写函数模板?(泛型编程入门)
建站VPS能否同时实现高效与安全翻墙?
建站之星ASP如何实现CMS高效搭建与安全管理?
教育培训网站制作流程,请问edu教育网站的域名怎么申请?
建站上传速度慢?如何优化加速网站加载效率?
建站主机CVM配置优化、SEO策略与性能提升指南
如何通过主机屋免费建站教程十分钟搭建网站?
制作营销网站公司,淘特是干什么用的?
如何选择长沙网站建站模板?H5响应式与品牌定制哪个更优?
c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】
兔展官网 在线制作,怎样制作微信请帖?
寿县云建站:智能SEO优化与多行业模板快速上线指南
广平建站公司哪家专业可靠?如何选择?
建站主机是否等同于虚拟主机?
建站主机与虚拟主机有何区别?如何选择最优方案?
,石家庄四十八中学官网?
实例解析Array和String方法
如何快速搭建支持数据库操作的智能建站平台?
打鱼网站制作软件,波克捕鱼官方号怎么注册?
网站制作知乎推荐,想做自己的网站用什么工具比较好?
如何基于云服务器快速搭建个人网站?
制作企业网站建设方案,怎样建设一个公司网站?
网站建设制作需要多少钱费用,自己做一个网站要多少钱,模板一般多少钱?
南阳网站制作公司推荐,小学电子版试卷去哪里找资源好?
建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南
自助网站制作软件,个人如何自助建网站?
如何选择最佳自助建站系统?快速指南解析优劣
道歉网站制作流程,世纪佳缘致歉小吴事件,相亲网站身份信息伪造该如何稽查?
,sp开头的版面叫什么?
定制建站模板如何实现SEO优化与智能系统配置?18字教程
如何快速搭建高效WAP手机网站吸引移动用户?
桂林网站制作公司有哪些,桂林马拉松怎么报名?
网站制作外包价格怎么算,招聘网站上写的“外包”是什么意思?
创业网站制作流程,创业网站可靠吗?
C#如何序列化对象为XML XmlSerializer用法
公司网站制作费用多少,为公司建立一个网站需要哪些费用?
广东专业制作网站有哪些,广东省能源集团有限公司官网?
网站app免费制作软件,能免费看各大网站视频的手机app?
*请认真填写需求信息,我们会在24小时内与您取得联系。