ASP字符过滤问题

来源:百度知道 编辑:UC知道 时间:2024/05/11 04:55:47
一个留言本,在别人写如内容(设为"text")提交时,我想不管在内容字段任何地方出现两次"http://"或者在任何地方出现一次"href="的话,都不能通过。
我不会写,呵呵,所以目前是这样写的:
if instr(text,"http://")>2 or instr(text,"href=")>0 then
......
......
显然是不对的。。。
哪位兄弟教教我该怎么写。。。

if ubound(split(lcase(book_bz),"http://"))>1 or ubound(split(lcase(book_bz),"href="))>0 or ubound(split(lcase(book_bz),"src="))>0 then

split(text,"http://")
把 text 以 http:// 隔开,转换为一个数组
如果有一个 http:// ,得到一个两行的数组
如果有两个 http:// ,就会得到一个三行的数组

ubound 返回数组的最大下标,因为下标是从0开始编号的,所以两行的数组最大下标是1
只要大于1,就说明有至少两个 http://

另外一个方法:
可以replace掉http://看最后是否长度少了两个http://共14个字符,呵!

判断出现一次"href="就用if instr(1,text,"href=")>0 then 就行了
第二个判断出现两次http://
用这个函数判断: if returnVal(text,"http://",1)>2 then

'参数说明
'str 查找的对象
's_str 欲统计的字符或字符串
'cmp 比较方式, 0 区分大小写,1 忽略大小写
Function returnVal(str,s_str,cmp)
dim xx,yy,ii
xx=0
yy=len(s_str)
for ii=1 to len(str)
if strcomp(mid(str,ii,yy),s_str,cmp)=0 then xx=xx+1
next
returnVal=xx
End Function

if instr(text,"href=&quo