ASP页面脏话过滤实现
需积分: 1 104 浏览量
更新于2024-09-14
收藏 539B TXT 举报
"ASP页面验证是否存在脏话"
在ASP(Active Server Pages)开发中,有时候我们需要确保用户输入的数据是安全的,避免包含不适当或恶意的词汇,这通常被称为脏话过滤或者敏感词检查。本示例代码展示了如何在ASP页面上实现一个简单的脏话过滤功能,以防止用户在提交表单时输入脏话或敏感词汇。
首先,我们看到代码中有一个JavaScript的部分,用于客户端验证。这部分代码的作用是在用户提交表单之前,检查输入字段`name1`(假设对应表单元素的name属性为"name")的值是否包含脏话。`valname1=document.form.name.value;`这一行获取了表单中name字段的值。然后,使用`indexOf()`方法来检查这个值中是否存在脏话字符串,如果存在,`indexOf("")>-1`则返回true,表示找到了脏话。此时,会弹出警告对话框提示用户,并将焦点重新设置到name字段,阻止表单提交,代码如下:
```javascript
if(name1.indexOf("")>-1){
alert("含有脏话!");
document.form.name.focus();
return false;
}
```
接着,是ASP服务器端的脏话过滤函数`ChkBadWords(fString)`。这个函数接收一个字符串参数`fString`,即用户输入的数据。在函数内部,首先定义了一个字符串变量`BadWords`,它包含了用竖线分隔的脏话列表。这里以`"|||"`作为示例,实际应用中应替换为具体的脏话词汇。
```vbscript
Function ChkBadWords(fString)
Dim BadWords, bwords, i
BadWords = "|||||" '这里应替换为实际的脏话列表
```
接下来,我们检查`BadWords`和`fString`是否都不为空,如果都不为空,则进行处理。`IsNull()`函数用于判断变量是否为空。
```vbscript
If (Not(IsNull(BadWords) Or IsNull(fString))) THEN
```
然后,使用`Split()`函数将`BadWords`按照竖线分隔成数组`bwords`,这样我们就可以遍历每个脏话词汇。
```vbscript
bwords = Split(BadWords, "|") '将脏话列表拆分为数组
```
通过`For`循环,遍历数组`bwords`中的每个脏话词汇,使用`Replace()`函数将`fString`中的脏话替换为星号`*`,以达到模糊化处理的效果。
```vbscript
For i = 0 To UBound(bwords)
fString = Replace(fString, bwords(i), String(Len(bwords(i)), "*"))
Next
```
最后,将处理后的字符串作为函数的返回值。
```vbscript
ChkBadWords = fString
END IF
End Function
```
总结起来,这段ASP代码实现了客户端与服务器端双重的脏话过滤机制。客户端的JavaScript部分提供了初步的检查,可以提高用户体验,防止不必要的服务器请求。而服务器端的ASP代码则提供了更严谨的过滤,确保即使绕过客户端验证,也能在服务器端进行有效过滤。在实际应用中,应根据项目需求,完善脏话列表,并考虑性能优化,例如使用哈希表等数据结构提高查找效率。
2011-05-25 上传
2008-10-08 上传
2019-07-04 上传
2024-11-08 上传
2024-11-08 上传
2024-11-08 上传
2024-11-08 上传
2024-11-08 上传
2024-11-08 上传
ZhuangHua224
- 粉丝: 0
- 资源: 18
最新资源
- Fisher Iris Setosa数据的主成分分析及可视化- Matlab实现
- 深入理解JavaScript类与面向对象编程
- Argspect-0.0.1版本Python包发布与使用说明
- OpenNetAdmin v09.07.15 PHP项目源码下载
- 掌握Node.js: 构建高性能Web服务器与应用程序
- Matlab矢量绘图工具:polarG函数使用详解
- 实现Vue.js中PDF文件的签名显示功能
- 开源项目PSPSolver:资源约束调度问题求解器库
- 探索vwru系统:大众的虚拟现实招聘平台
- 深入理解cJSON:案例与源文件解析
- 多边形扩展算法在MATLAB中的应用与实现
- 用React类组件创建迷你待办事项列表指南
- Python库setuptools-58.5.3助力高效开发
- fmfiles工具:在MATLAB中查找丢失文件并列出错误
- 老枪二级域名系统PHP源码简易版发布
- 探索DOSGUI开源库:C/C++图形界面开发新篇章