各位大侠,有问题想请教一下,:
Split这个函数怎么用啊?
我想要用这个函数来控制文本框里不能填写在我所控制之内的内容:
比如:有一页是来提交表单的,另外一页是来处理这个表单的,我想在处理表单这一页来用Split函数来控制表单不能输入(,:][‘><?/-=+_)等之内的字符!否则就弹出一个对话框,比如说:不能输入这些字符!
各位大侠,有问题想请教一下,:
Split这个函数怎么用啊?
我想要用这个函数来控制文本框里不能填写在我所控制之内的内容:
比如:有一页是来提交表单的,另外一页是来处理这个表单的,我想在处理表单这一页来用Split函数来控制表单不能输入(,:][‘><?/-=+_)等之内的字符!否则就弹出一个对话框,比如说:不能输入这些字符!
配合Instr之类的函数完成
[CODE]Dim GetText
GetText=Trim(Request("NewQuote"))
Const BannedTexts=", : ] [ ' > < ? / - = +"
Dim BannedText()
BannedText=Split(BannedTexts," ")
Dim i
For i=0 To UBound(BannedText)
If Instr(GetText,BannedText(i))>0 Then
Response.Write "<i>请不要在文本框里输入<b>" & Server.HtmlEncode(BannedText(i)) & "</b>字符,此留言未写入数据库</i>"
'Call CloseConn() ' 关闭数据库连接
Response.End '结束处理和输出
End If
Next 'i[/CODE]
不过既然都是一个字符的话 我更喜欢下面这种方法,不用Split
[CODE]Dim GetText
GetText=Trim(Request("NewQuote"))
Const BannedChars=",:]['><?/-=+"
Dim i
For i=1 To Len(BannedChars)
If Instr(GetText,Mid(BannedChars,i,1))>0 Then
Response.Write "<i>请不要在文本框里输入<b>" & Server.HtmlEncode(Mid(BannedChars,i,1)) & "</b>字符,此留言未写入数据库</i>"
'Call CloseConn() ' 关闭数据库连接
Response.End '结束处理和输出
End If
Next 'i[/CODE]
挺好用的啊,不知道你想用split干什么。如果你想要吃汉堡的话,split的确没用,要用RMB。
汉堡不好吃,来俩鸡翅好了,谈RMB太伤感情,就免了吧
我以前试过这个split函数,对于完全合理的输入,分解结果那是肯定对的(其实这是废话)
但是对一些特殊情况的处理考虑不全面(具体是什么特殊情况我忘记了,以后查查)
总之如果在用split前可以保证字符串完全合理,那可以用,但是如果字符串来自于用户输入,那随时可能出问题。
汉堡不好吃,来俩鸡翅好了,谈RMB太伤感情,就免了吧
我以前试过这个split函数,对于完全合理的输入,分解结果那是肯定对的(其实这是废话)
但是对一些特殊情况的处理考虑不全面(具体是什么特殊情况我忘记了,以后查查)
总之如果在用split前可以保证字符串完全合理,那可以用,但是如果字符串来自于用户输入,那随时可能出问题。
我还没构造出不合理的情况。但是split的确有局限性,比如如果我要空格也能分隔,逗号也能分隔,可以混合使用,split就没法用了。
当然有一种思路是先把逗号replace成空格,然后执行split(这主意真不错哦)
<%
dim s
s=\" a b c d e \"
response.write(ubound(split(s,\" \")))
%>
<%
dim s
s=\" a b c d e \"
response.write(ubound(split(s,\" \")))
%>
<%
dim s
s=\" a b c d e \"
While Instr(s,\" \")
s=replace(s,\" \",\" \")
Wend
response.write(ubound(split(s,\" \")))
%>