主题:  如何判断request来的字符串是否含有某些字?

icerain

职务:普通成员
等级:1
金币:1.0
发贴:249
#12005/7/22 6:08:36
我看别人是这样写的,可是我试了好像不起作用啊?

username=request.form("username")
IF instr("|我|你|他|她|法*|妈|爸|奶|爹|姥|爷|胡锦涛|江泽民|县长|[脏话,已过滤]|操|法功|","|"& username &"|")>0 Then
     response.write "<script language='javascript'>" & VbCRlf
     response.write "alert('用户名含有非法文字或字数太少!');" & VbCrlf
     response.write "history.go(-1);" & vbCrlf
     response.write "</script>" & VbCRLF
     response.end
end if



沉默是金

职务:普通成员
等级:6
金币:11.2
发贴:4357
#22005/7/22 9:54:11
把要过滤的文字组成为一个数组,然后遍历去查找,存在就报错。


难人一个……

icerain

职务:普通成员
等级:1
金币:1.0
发贴:249
#32005/7/22 14:28:24
谢谢二楼的朋友~

我VBSCRIPT太差了,可以写一句简单的例子参考下吗?



{ 在指尖上绽放的花朵 }

职务:普通成员
等级:5
金币:14.0
发贴:3209
#42005/7/22 16:59:48
引用:
<%
'//================================================
'// Program Written By xingzhe @5d.cn, 2005.
'//================================================

'------------------------------------------
' build the variable table
'------------------------------------------
username=request( "str" )
badword = array( "abc", "123", "567" )
errcode = 0

'------------------------------------------
' check the badwords one by one
'------------------------------------------
for each temp in badword

    if inStr( username, temp ) <> 0 then
        errcode = 1
        exit for
    end if

next

'------------------------------------------
' output the result
'------------------------------------------
if errcode = 0 then
    response.write("<font color='green'><b>[ ACCEPTED ]</b></font>")
else
    response.write("<font color='red'><b>[ DENIED ]</b></font>")
end if

%>


随手写的。。。。。

我本地没 ASP 环境没法检查。。。。

大概就是这个样子的了。。。



icerain

职务:普通成员
等级:1
金币:1.0
发贴:249
#52005/7/24 23:08:27
收到!!!!!!!!!非常感谢老行~
跟据我的需要修改调试成功。不过我再逻索一句
array这个是干啥用的?是一句VBSCRIPT吗?



蓝鲸

职务:版主
等级:5
金币:42.1
发贴:2614
#62005/7/25 11:14:10
array是数组名,也可用别的别称


非常大鱼