做网页常用ASP函数_ASP教程
推荐:使用Filter实现信息的二次检索思考一个问题:怎么实现在第一次检索的基础上进行二次检索? 通常,我们的做法是第一次检索时保存检索条件,在第二次行检索时组合两次检索条件对数据库进行一次新的查询,如: 第一次检索:
'----------------------------------------------------------------------
' 函数功能: 屏蔽HTML代码
' 参 数: StrInput 用户输入信息
'----------------------------------------------------------------------
function FunInput(StrInput)
if not isnull(Str) then
StrInput=RePlace(StrInput,"<","<")
StrInput=replace(StrInput,">",">")
StrinPut=replace(Strinput,chr(32)," ")
strinput=replace(strinput,chr(34),""")
strinput=replace(strinput,chr(39),"'")
strinput=replace(strinput,chr(13),"")
FunInput=strinput
end if
end function
'----------------------------------------------------------------------
' 函数功能: 防止SQL注入
' 参 数: StrValue 用户提交的数据
' BloType 数据类型
' 参 数 值: true 数值型数据
' false 字符型数据
'----------------------------------------------------------------------
function FunSQL(StrValue,BloType)
if BloType then
if Isnumeric(StrValue) then
FunSQL=clng(StrValue)
else
StrValue=0
end if
else
if not isnull(StrValue) then
StrValue=lcase(StrValue)
StrValue=Replace(StrValue,"'","''")
StrValue=replace(StrValue,"select","")
StrValue=replace(StrValue,"update","")
StrValue=replace(StrValue,"insert","")
StrValue=replace(StrValue,"delete","")
StrValue=replace(StrValue,";","")
StrValue=replace(StrValue," ","")
StrValue=replace(StrValue,chr(255),"")
StrValue=replace(StrValue,"*","")
StrValue=replace(StrValue,"%","")
end if
end if
FunSQL=StrValue
end function
'--------------------------------------------------------------------------
' 函数功能: 常用类型转换
' 参 数: _Type 数据类型
' _Value 数据
' 参 数 值: _Type 1 : 转换成数值型数据
' _Type 2 : 转换成字符型数据
' _Type 3 : 转换成布尔型数据
'--------------------------------------------------------------------------
function FunSwitch(Value_,Type_)
on error resume next
select case Type_
case 1
if isnumeric(Value_) then
if not isnull(Value_) then
FunSwitch=clng(Value_)
else
FunSwitch=0
end if
else
FunSwitch=0
end if
case 2
if not isnull(Value_) then
FunSwitch=cstr(Value_)
else
FunSwitch=""
end if
case 3
if not isnull(Value_) and isnumeric(Value_) then
FunSwitch=cbool(Value_)
else
FunSwitch=false
end if
case else
response.redirect("Error.asp?err=请指定 FunSwitch 中要转达换成的数据类型!")
end select
if err.number<>0 then
response.redirect("Error.asp?err=数据转换时产生未知错误!")
err.clear
end if
end function
''----------------------------------------------------------------------
' 函数功能: 验证是数据是否来自外部
' 参 数: 无
'----------------------------------------------------------------------
function checkfrom()
server_v1=Cstr(Request.ServerVariables("HTTP_REFERER"))
server_v2=Cstr(Request.ServerVariables("SERVER_NAME"))
if mid(server_v1,8,len(server_v2))<>server_v2 then
checkfrom=true
else
checkfrom=false
end if
end function
''----------------------------------------------------------------------
' 函数功能: JS提示框
' 参 数: StrURL : 点击确定后返回到的页面地址
' StrMSG : 对话框的提示信息
'----------------------------------------------------------------------
Function FunMsg(StrURL,StrMSG)
Response.write "<script language='javascript'>"&_
Vbcrlf&"alert("""&StrMSG&""");"&_
Vbcrlf&"window.location="""&StrURL&""";"&_
Vbcrlf&"</script>"
End Function
'--------------------------------------------------------------------------
' 函数功能: 通用分页
' 参 数: Intpagecount 总页数
' Intmypage 当前页数
' Intrecordcount 记录总数
' Intpagesize 每页显示的记录数
'--------------------------------------------------------------------------
function funpage(Intpagecount,Intmypage,Intrecordcount,Intpagesize)
'on error resume next
dim Intfor,Intlist,intlist_b
Dim query, a, x, temp
action = "http://" & Request.ServerVariables("HTTP_HOST") & Request.ServerVariables("SCRIPT_NAME")
query = Split(Request.ServerVariables("QUERY_STRING"), "&")
For Each x In query
a = Split(x, "=")
If StrComp(a(0), "page", vbTextCompare) <> 0 Then
temp = temp & a(0) & "=" & a(1) & "&"
End If
Next
if intmypage>1 then
funpage=funpage & "<a href='"&action&"?"&temp&"page=1' title='最前页' class='no'><font face='Webdings'>9</font></a>"
funpage=funpage&"<a href='"&action&"?"&temp&"page="&Intmypage-1 & "' title='上一页' class='no'><font face='Webdings'>7</font></a>"
else
funpage=funpage &"<font face='Webdings'>9</font>"
funpage=funpage&"<font face='Webdings'>7</font>"
end if
if Intlist<>0 then
if cintmypage= Intlist then
Intlist=Intlist 5
end if
else
Intlist=Intmypage 5
end if
if intlist-9<1 then
intlist_b=1
else
intlist_b=intlist-9
end if
for Intfor=intlist_b to Intlist
if intfor<=Intpagecount then
if intfor=Intmypage then '-------使当前页文字为红色,并不可点击
funpage =funpage & strMode&" <font color='#FF0000'><b>"& Intfor & "</b></font>"
else
funpage=funpage & strMode &" <a href='"&action&"?"&temp&"page=" & Intfor &"' class='no'>" & Intfor & "</a>"
end if
end if
strMode=" <font color='#BBBBBB'>|</font> "
next
if intmypage<intpagecount then
funpage=funpage&" <a href='"&action&"?"&temp&"page="& Intmypage 1 &"' title='后一页' class='no'><font face='Webdings'>8</font></a>"
funpage=funpage &"<a href='"&action&"?"&temp&"page="& Intpagecount & "' title='最后页' class='no'><font face='Webdings'>:</font></a>"
else
funpage=funpage&" <font face='Webdings'>8</font>"
funpage=funpage &"<font face='Webdings'>:</font></a>"
end if
funpage="<table width='100%' border='0' cellspacing='0' cellpadding='0'><tr>"&_
vbcrlf&"<td width='40%' style=font:14px> 当前第"&Intmypage&"页 "&Intpagesize&"条/页 共"&Intpagecount&"页/"&Intrecordcount&"条记录</td>"&_
vbcrlf&"<td width='60%' align='right'>"&_
vbcrlf&"<table width='360' border='0' cellspacing='0' cellpadding='0'><tr>"&_
vbcrlf&"<td align='right' style=font:14px>"&funpage&" </td>"&_
vbcrlf&"</tr></table></td></tr>"&_
vbcrlf&"</table>"
if err.number<>0 then
err.clear
response.redirect("error.asp?err=分页函数出错,请与管理员联系!|")
end if
end function
'***************************************************
'函数名:Highlight
'功能:搜索的关键词以高亮的颜色显示
'参数strText是要被高亮显示的字符串或变量所在的字串或变量
'strFind是要被高亮显示的字符串或变量,
'strBefore被高亮显示的HTML代码前缀如:<font color=red>
'strAfter被高亮显示的HTML代码的后缀:</font>
'*****************************************************
Function Highlight(strText, strFind, strBefore, strAfter)
Dim nPos
Dim nLen
Dim nLenAll
nLen = Len(strFind)
nLenAll = nLen Len(strBefore) Len(strAfter) 1
Highlight = strText
If nLen > 0 And Len(Highlight) > 0 Then
nPos = InStr(1, Highlight, strFind, 1)
Do While nPos > 0
Highlight = Left(Highlight, nPos - 1) & _
strBefore & Mid(Highlight, nPos, nLen) & strAfter & _
Mid(Highlight, nPos nLen)
nPos = InStr(nPos nLenAll, Highlight, strFind, 1)
Loop
End If
End Function
分享:ASP 3.0高级编程(三十一)7.1.2 语义或“运行期”错误 语法错误的发现和处理是令人烦恼的,但在编程中会遇到一些真正“令人兴奋”的另一类型的错误——语义错误(semantic error)或称&ld
- 相关链接:
- 教程说明:
ASP教程-做网页常用ASP函数。