'----------------------------------------------------------------------
' 函數功能: 屏蔽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