本例中敏感词ciku.txt放在C盘根目录下,采用的ActiveXObject插件获取本地文件内容。
使用此插件不需网上下插件,直接用如下js代码即可。
浏览器需修改interner安全选项的级别,启用ActiveX才能获取到代码中的ActiveXObject插件。
如下图所示:js代码实现如下:[removed] // -------------- 全局变量,用来判断文本域中是否包含脏词,默认为false,即不包含脏词------- var isDirty = false; //使用ActiveX读取本地文件获取dirt在JavaScript中,有时我们需要在用户提交表单时检查输入内容是否包含敏感词,以防止不当内容的发布。
本文介绍了一种使用ActiveXObject技术在IE浏览器中实现这一功能的方法。
ActiveXObject是Internet Explorer特有的,它允许JavaScript与本地操作系统交互,如读取本地文件。
我们需要在本地(例如C盘根目录)创建一个名为`ciku.txt`的文本文件,其中包含了我们定义的敏感词。
然后,通过JavaScript的ActiveXObject来读取这个文件的内容。
以下是关键的JavaScript代码:```javascriptvar isDirty = false;function readFile() { var fso = new ActiveXObject("Scripting.FileSystemObject"); var openF = fso.OpenTextFile("c:\\ciku.txt", 1); var cikuStr = openF.ReadAll(); return cikuStr;}````readFile()`函数使用`Scripting.FileSystemObject`对象打开并读取`ciku.txt`文件,然后将敏感词返回给其他函数处理。
当用户尝试提交表单时,会触发`submitForm1()`函数。
这个函数首先获取用户在表单文本域中输入的内容,然后检查是否包含敏感词。
如果发现敏感词,它会调用`filterWord()`函数替换敏感词,并弹出提示让用户确认是否继续提交。
如果用户确认,表单会被提交;
否则,提交操作会被取消。
`filterWord()`函数接收用户输入的内容,读取敏感词列表,然后对每个敏感词调用`filterOneWord()`函数进行替换。
`filterOneWord()`使用正则表达式和`replace()`方法将敏感词替换为星号("**")。
表单部分的HTML代码如下:```html<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>```需要注意的是,由于ActiveXObject是IE特有的,这种方法在其他非IE浏览器(如Chrome、Firefox、Safari或Edge)上无效。
为了实现跨浏览器兼容,可以考虑使用其他技术,如FileReader API(适用于现代浏览器)或者将敏感词库保存在服务器端,通过Ajax请求获取。
此外,为了使用ActiveXObject,用户需要在浏览器的安全设置中启用ActiveX控件,这可能带来安全风险,因此在实际应用中应谨慎使用,并确保对用户有明确的提示和说明。
2025/6/15 22:22:47 97KB
1
高效敏感词过滤JAVA实现(DFA算法)5000字2ms节点+2进制标识(节省空间/提高查询效率)附源码、注释,附带专业敏感词库(3396个敏感词)看得上就拿去用,替换下一两处util方法、改个路径即可不求什么,用得好的话,记得有那么一个人提供就够了。
如遇问题,欢迎交流。
QQ463550192普通PC测试结果: 2015-5-1加载时间:41542826ns加载时间:41ms解析字数:5000解析时间:2295131ns解析时间:2ms
2024/5/7 3:34:40 23KB 敏感词过滤 高效敏感词 DFA算法
1
该算法基于DFA并结合许多算法并进行相应的简化,最终其算法基本原理为:将所有敏感词库按模块聚合构建成一个词树(所谓聚合,就是将相同字开头的部分进行聚合,以减少对词的查询范围,相当于建立敏感词索引,如:他奶奶的、他妈的、他娘的,这三个词,聚合构建成词树时,“他”字就是这三个词的索引,同时每个词的结尾都有一个结束标志和该词的一些描述,如敏感级别等),然后从头到尾扫描一遍目标文本,当遇到以敏感词树中的索引的字时,查看后面的文本是否构成敏感词(如果这里有以这个敏感词开头的更长的敏感词时,以更长的为匹配结果,并判断该词在文本中前后是否有分隔符来区别其匹配方式),如果是则记录,一遍扫描完之后所有敏感词即被扫描出来了!
2024/3/11 17:54:55 112KB 敏感词过滤
1
各大平台网络内容敏感词库过滤词库,百度敏感词库,自媒体敏感词库,包括各大主流平台,发布文案文章前查一查避免进入漫长的人工复核,之后还可能被退回修改,帮助你节约时间。
2023/12/5 1:11:04 214KB 敏感词 过滤词 文案 自媒体
1
这应该是CSDN中最全的敏感词库了,我搜索了多个CSDN已有的敏感词库,然后用JAVA去重,整理后的版本,欢迎大家下载,文件中敏感词以换行符分割(每行一个敏感词),词语多达6000+
2023/7/10 11:47:51 73KB 敏感词 禁词 违禁词 敏感字
1
中文敏感词库、各种停用词表以及各种分词词库,txt格式方便适用
2017/2/23 12:32:55 21.62MB 敏感词库 停用词 各种词库
1
已在项目中使用,绝对是你想要的,PHP实现的敏感词过滤功能。
6000多个敏感词,可自行添加。
使用方便,代码含正文!
2022/9/2 21:54:16 33KB php敏感词
1
在日常工作中,钉钉打卡成了我生活中不可或缺的一部分。然而,有时候这个看似简单的任务却给我带来了不少烦恼。 每天早晚,我总是得牢记打开钉钉应用,点击"工作台",再找到"考勤打卡"进行签到。有时候因为工作忙碌,会忘记打卡,导致考勤异常,影响当月的工作评价。而且,由于我使用的是苹果手机,有时候系统更新后,钉钉的某些功能会出现异常,使得打卡变得更加麻烦。 另外,我的家人使用的是安卓手机,他们也经常抱怨钉钉打卡的繁琐。尤其是对于那些不太熟悉手机操作的长辈来说,每次打卡都是一次挑战。他们总是担心自己会操作失误,导致打卡失败。 为了解决这些烦恼,我开始思考是否可以通过编写一个全自动化脚本来实现钉钉打卡。经过一段时间的摸索和学习,我终于成功编写出了一个适用于苹果和安卓系统的钉钉打卡脚本。
2024-04-09 15:03 15KB 钉钉 钉钉打卡