ASP的一些自定義函數(shù)整理第1/2頁
更新時(shí)間:2008年06月18日 21:35:52 作者:
書學(xué)asp,經(jīng)常會(huì)用到一些函數(shù),對(duì)于代碼的重用性有所提高,執(zhí)行速度也提高,希望大家多多欣賞學(xué)習(xí)
<%
'============================================================================================================================
'函數(shù)列表:
'1: 建立數(shù)據(jù)庫的連接 ConnOpen(DataBaseConnectStr,DBType,Conn_object)
'2: 斷開數(shù)據(jù)庫的連接 ConnClose(Conn_object)
'3: 防止SQL注入 SafeRequest(paraName,paraType)
'4: 格式化日期 DateFormat(dateStr,dateType)
'5: 顯示錯(cuò)誤提示 ShowErr(errStr)
'6: 查詢字符串中特定數(shù)據(jù) SelectStr(contentStr,patternStr,patternNum)
'7: 過濾指定字符 Leach(contentStr,badWords)
'8: 遠(yuǎn)程文件內(nèi)容抓取 Seize(urlStr)
'9: 數(shù)據(jù)流編碼處理 BytesToBstr(body,cset)
'10: 編碼cookies codeCookie(contentStr)
'11: 解碼cookies DecodeCookie(contentStr)
'12: 檢驗(yàn)數(shù)據(jù)提交來源是否合法 ChkPost()
'13: 個(gè)性化加密 MyEncrypt(StrPassword)
'14: 禁止瀏覽器緩存本頁 NoBuffer()
'15: 網(wǎng)頁格式化輸入文本 HTMLEncode(fString)
'16: 從頭部截取字符串的指定長度(按字符數(shù)算) GotTopic(Str,StrLen)
'17: 檢測(cè)驗(yàn)證碼 CheckRadomPass(RadomPass)
'18: 生成驗(yàn)證碼 GetCode()
'19: 獲取客戶端操作系統(tǒng)版本 GetSystem()
'20: 數(shù)據(jù)庫事務(wù)處理 ConnManage(Conn_object)
'21: 快速排序(遞歸) QuickSort(arr,Low,High)
'22: 將數(shù)組的元素以特定字符串連起來 arr_join(arr,character)
'23: 返回字符串以某分割符分割的數(shù)目 count_character(str,character)
'24: 截取含有分割符的字符串中指定數(shù)目的字符串 inter_str_by_character_num(str,character,start,num)
'25: 利用Stream下載文件 downloadFile(strFile)
'26: 返回信息 send_back(ResultWords)
'27: 獲取錯(cuò)誤信息 get_err()
'28: 與SafeRequest相反 SafeResponse(content)
'29: 保存遠(yuǎn)程圖片 SaveRemoteFile(LocalFileName,RemoteFileUrl)
'30: ...
dim language_arr(10)
language_arr(0) = "數(shù)據(jù)庫連接的參數(shù)設(shè)置錯(cuò)誤!"
language_arr(1) = "數(shù)據(jù)庫連接的類型參數(shù)設(shè)置錯(cuò)誤!"
language_arr(2) = "數(shù)據(jù)庫連接失??!"
language_arr(3) = "非法的參數(shù)值!"
language_arr(4) = "參數(shù)值不是有效的日期格式!"
language_arr(5) = "操作失?。?
language_arr(6) = "欄目有重名!"
language_arr(7) = "欄目名稱為空!"
language_arr(8) = "欄目文件夾創(chuàng)建失敗!"
language_arr(9) = "您沒有此權(quán)限!"
'============================================================================================================================
'函數(shù)ID:1
'函數(shù)作用:建立數(shù)據(jù)庫的連接
'作者名稱:茫仔 xiamangmang@gmail.com 博客:blog.mzoe.com
'建立時(shí)間:2006-2-15 10:28
'修改時(shí)間:
'傳人參數(shù):
' connectStr:數(shù)據(jù)庫連接字符串
' connectType:數(shù)據(jù)庫類別-數(shù)字型,0為Access,1為MS SQL
'返回值:
'============================================================================================================================
sub ConnOpen(DataBaseConnectStr,DBType,Conn_object)
Set Conn_object = Server.Createobject("adodb.connection")
if DataBaseConnectStr = "" then call ShowErr(language_arr(0))
if DBType = 0 then
Conn_object.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DataBaseConnectStr
elseif DBType = 1 then
Conn_object.Open "Provider=SQLOLEDB.1;" & DataBaseConnectStr
else
call ShowErr(language_arr(1))
end if
err.clear
end sub
'============================================================================================================================
'函數(shù)ID:2
'函數(shù)作用:斷開數(shù)據(jù)庫的連接
'作者名稱:茫仔 xiamangmang@gmail.com 博客:blog.mzoe.com
'建立時(shí)間:2006-2-16 15:10
'修改時(shí)間:
'傳人參數(shù):
'返回值:
'============================================================================================================================
Sub ConnClose(Conn_object)
Conn_object.close
set Conn_object = nothing
End sub
'============================================================================================================================
'函數(shù)ID:3
'函數(shù)作用:防止SQL注入
'作者名稱:http://news.dvbbs.net/infoview/Article_2906.html
'建立時(shí)間:2006-2-16 15:32
'修改時(shí)間:
'傳人參數(shù):
' paraName:參數(shù)名稱-字符型
' paraType:參數(shù)類型-數(shù)字型(1表示以上參數(shù)是數(shù)字,0表示以上參數(shù)為字符)
'返回值:
' 過濾后的字符串
'============================================================================================================================
Function SafeRequest(paraName,paraType)
dim paraValue
paraValue = Request(paraName)
select case paraType
case 0
paraValue = replace(paraValue,"'","[system:34]")
paraValue = replace(paraValue,"=","[system:61]")
case 1
if not IsNumeric(paraValue) then call ShowErr(language_arr(3))
case -1
if not IsNumeric(paraValue) then call ShowErr(language_arr(3))
if paraValue = "" then paraValue = 0
case else
if len(paraValue) > paraType then call ShowErr(language_arr(3))
paraValue = replace(paraValue,"'","[system:34]")
paraValue = replace(paraValue,"=","[system:61]")
end select
SafeRequest = paraValue
End function
'============================================================================================================================
'函數(shù)ID:4
'函數(shù)作用:格式化日期
'作者名稱:茫仔 xiamangmang@gmail.com 博客:blog.mzoe.com
'建立時(shí)間:2006-2-16 15:45
'修改時(shí)間:
'傳人參數(shù):
' dateStr:日期字符串
' paraType:日期類型-數(shù)字型
'返回值:
' 格式化后的日期
'============================================================================================================================
Function DateFormat(dateStr,dateType)
Dim dateString
if IsDate(dateStr) = False then
call ShowErr(language_arr(4))
end if
Select Case dateType
Case "1"
dateString = Year(dateStr)&"-"&Month(dateStr)&"-"&Day(dateStr)
Case "2"
dateString = Year(dateStr)&"."&Month(dateStr)&"."&Day(dateStr)
Case "3"
dateString = Year(dateStr)&"/"&Month(dateStr)&"/"&Day(dateStr)
Case "4"
dateString = Month(dateStr)&"/"&Day(dateStr)&"/"&Year(dateStr)
Case "5"
dateString = Day(dateStr)&"/"&Month(dateStr)&"/"&Year(dateStr)
Case "6"
dateString = Month(dateStr)&"-"&Day(dateStr)&"-"&Year(dateStr)
Case "7"
dateString = Month(dateStr)&"."&Day(dateStr)&"."&Year(dateStr)
Case "8"
dateString = Month(dateStr)&"-"&Day(dateStr)
Case "9"
dateString = Month(dateStr)&"/"&Day(dateStr)
Case "10"
dateString = Month(dateStr)&"."&Day(dateStr)
Case "11"
dateString = Month(dateStr)&language_arr(6)&Day(dateStr)&language_arr(7)
Case "12"
dateString = Day(dateStr)&language_arr(7)&Hour(dateStr)&language_arr(8)
case "13"
dateString = Day(dateStr)&language_arr(7)&Hour(dateStr)&language_arr(8)
Case "14"
dateString = Hour(dateStr)&language_arr(8)&Minute(dateStr)&language_arr(9)
Case "15"
dateString = Hour(dateStr)&":"&Minute(dateStr)
Case "16"
dateString = Year(dateStr)&language_arr(5)&Month(dateStr)&language_arr(6)&Day(dateStr)&language_arr(7)
Case Else
dateString = dateStr
End Select
DateFormat = dateString
End Function
'============================================================================================================================
'函數(shù)ID:5
'函數(shù)作用:顯示錯(cuò)誤提示
'作者名稱:茫仔 xiamangmang@gmail.com 博客:blog.mzoe.com
'建立時(shí)間:2006-2-16 16:29
'修改時(shí)間:
'傳人參數(shù):
' errStr:錯(cuò)誤提示-字符型
'返回值:返回提交頁面
'============================================================================================================================
sub ShowErr(errStr)
Response.Write("<script>alert("""&errStr&""");location.href=""javascript:history.back()"";</script>")
Response.End
End sub
'============================================================================================================================
'函數(shù)ID:6
'函數(shù)作用:查詢字符串中特定數(shù)據(jù)
'作者名稱:茫仔 xiamangmang@gmail.com 博客:blog.mzoe.com
'建立時(shí)間:2006-2-16 16:40
'修改時(shí)間:
'傳人參數(shù):
' contentStr:查詢字符串
' patternStr:匹配式字符串
' patternNum:查詢定位-數(shù)字型
'返回值:
' 找不到返回false
' patternNum為-1返回所有匹配字符串并以[10]隔開
' 否則返回指定位置的字符串
'============================================================================================================================
Function SelectStr(contentStr,patternStr,patternNum)
dim objRegExp,matches,matche
if contentStr = "" then
call ShowErr(language_arr(12))
end if
Set objRegExp=new RegExp '建立正則表達(dá)式
objRegExp.pattern = patternStr '設(shè)置模式
objRegExp.IgnoreCase =False '設(shè)置是否區(qū)分字符大小寫
objRegExp.Global=true '設(shè)置全局可用性
objRegExp.pattern = patternStr '匹配式
if objRegExp.test(contentStr) = false then '全局匹配
SelectStr = false
else
Set matches = objRegExp.Execute(contentStr) '執(zhí)行搜索
if patternNum = -1 then
for each matche in matches
SelectStr = SelectStr &"[10]"& matche.value
next
else
SelectStr = matches.Item(patternNum).value
end if
end if
Set objRegExp=Nothing
End Function
'============================================================================================================================
'函數(shù)ID:7
'函數(shù)作用:過濾指定字符
'作者名稱:茫仔 xiamangmang@gmail.com 博客:blog.mzoe.com
'建立時(shí)間:2006-2-16 16:59
'修改時(shí)間:
'傳人參數(shù):
' contentStr:源字符串
' badWords:要過濾的字符串,若數(shù)目大于1則用英文狀態(tài)的"^"隔開
'返回值:
' 返回過濾后的字符串
'============================================================================================================================
Function Leach(contentStr,badWords)
dim badWordsArr,i
badWordsArr = Split(badWords,"^")
for i = 0 to UBound(badWordsArr)
contentStr = replace(contentStr,badWordsArr(i),"")
next
leach = contentStr
end Function
'============================================================================================================================
'函數(shù)ID:8
'函數(shù)作用:遠(yuǎn)程文件內(nèi)容抓取
'作者名稱:茫仔 xiamangmang@gmail.com 博客:blog.mzoe.com
'建立時(shí)間:2006-2-16 17:24
'修改時(shí)間:
'傳人參數(shù):
' urlStr:遠(yuǎn)程文件地址
'返回值:
' 返回遠(yuǎn)程文件內(nèi)容
'============================================================================================================================
function Seize(urlStr)
dim connect
if urlStr = "" then
call ShowErr(language_arr(13))
else
Set connect = CreateObject("Microsoft.XMLHTTP") '建立XMLHTTP對(duì)象
connect.open "GET",urlStr,false '設(shè)置參數(shù),通信方式為get,請(qǐng)求為同步,后面還有兩個(gè)可選屬性:userID,password用于用戶驗(yàn)證
connect.send() '數(shù)據(jù)發(fā)送,Send方法的參數(shù)類型可以是字符串、DOM樹或任意數(shù)據(jù)流
Seize = BytesToBStr(connect.responseBody,"GB2312") '返回信息,編碼為中文
set connect = nothing
end if
end function
'============================================================================================================================
'函數(shù)ID:9
'函數(shù)作用:數(shù)據(jù)流編碼處理
'作者名稱:茫仔 xiamangmang@gmail.com 博客:blog.mzoe.com
'建立時(shí)間:2006-2-16 17:30
'修改時(shí)間:
'傳人參數(shù):
' body:數(shù)據(jù)內(nèi)容
' cset:編碼格式
'返回值:
' 編碼處理后的信息
'============================================================================================================================
Function BytesToBstr(body,cset)
dim objstream
set objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1 '以二進(jìn)制模式打開
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = cset
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function
'============================================================================================================================
'函數(shù)ID:10
'函數(shù)作用:編碼cookies
'作者名稱:茫仔 xiamangmang@gmail.com 博客:blog.mzoe.com
'建立時(shí)間:2006-2-16 17:36
'修改時(shí)間:
'傳人參數(shù):
' contentStr:數(shù)據(jù)內(nèi)容
'返回值:
' 編碼處理后的信息,字符以"a"隔開
'============================================================================================================================
Function codeCookie(contentStr)
Dim i,returnStr
For i = Len(contentStr) to 1 Step -1
returnStr = returnStr & Ascw(Mid(contentStr,i,1))
If (i <> 1) Then returnStr = returnStr & "a"
Next
CodeCookie = returnStr
End Function
'============================================================================================================================
'函數(shù)ID:11
'函數(shù)作用:解碼cookies
'作者名稱:茫仔 xiamangmang@gmail.com 博客:blog.mzoe.com
'建立時(shí)間:2006-2-17 16:58
'修改時(shí)間:
'傳人參數(shù):
' contentStr:數(shù)據(jù)內(nèi)容
'返回值:
' 解碼處理后的信息
'============================================================================================================================
Function DecodeCookie(contentStr)
Dim i
Dim StrArr,StrRtn
StrArr = Split(contentStr,"a")
For i = 0 to UBound(StrArr)
If isNumeric(StrArr(i)) = True Then
StrRtn = Chrw(StrArr(i)) & StrRtn
Else
StrRtn = contentStr
Exit Function
End If
Next
DecodeCookie = StrRtn
End Function
'============================================================================================================================
'函數(shù)ID:12
'函數(shù)作用:檢驗(yàn)數(shù)據(jù)提交來源是否合法
'作者名稱:茫仔 xiamangmang@gmail.com 博客:blog.mzoe.com
'建立時(shí)間:2006-2-18 18:55
'修改時(shí)間:
'傳人參數(shù):
'
'返回值:
' Boolean
'============================================================================================================================
Function ChkPost()
Dim server_v1,server_v2
Chkpost=False
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 Chkpost=True
End Function
'============================================================================================================================
'============================================================================================================================
'函數(shù)列表:
'1: 建立數(shù)據(jù)庫的連接 ConnOpen(DataBaseConnectStr,DBType,Conn_object)
'2: 斷開數(shù)據(jù)庫的連接 ConnClose(Conn_object)
'3: 防止SQL注入 SafeRequest(paraName,paraType)
'4: 格式化日期 DateFormat(dateStr,dateType)
'5: 顯示錯(cuò)誤提示 ShowErr(errStr)
'6: 查詢字符串中特定數(shù)據(jù) SelectStr(contentStr,patternStr,patternNum)
'7: 過濾指定字符 Leach(contentStr,badWords)
'8: 遠(yuǎn)程文件內(nèi)容抓取 Seize(urlStr)
'9: 數(shù)據(jù)流編碼處理 BytesToBstr(body,cset)
'10: 編碼cookies codeCookie(contentStr)
'11: 解碼cookies DecodeCookie(contentStr)
'12: 檢驗(yàn)數(shù)據(jù)提交來源是否合法 ChkPost()
'13: 個(gè)性化加密 MyEncrypt(StrPassword)
'14: 禁止瀏覽器緩存本頁 NoBuffer()
'15: 網(wǎng)頁格式化輸入文本 HTMLEncode(fString)
'16: 從頭部截取字符串的指定長度(按字符數(shù)算) GotTopic(Str,StrLen)
'17: 檢測(cè)驗(yàn)證碼 CheckRadomPass(RadomPass)
'18: 生成驗(yàn)證碼 GetCode()
'19: 獲取客戶端操作系統(tǒng)版本 GetSystem()
'20: 數(shù)據(jù)庫事務(wù)處理 ConnManage(Conn_object)
'21: 快速排序(遞歸) QuickSort(arr,Low,High)
'22: 將數(shù)組的元素以特定字符串連起來 arr_join(arr,character)
'23: 返回字符串以某分割符分割的數(shù)目 count_character(str,character)
'24: 截取含有分割符的字符串中指定數(shù)目的字符串 inter_str_by_character_num(str,character,start,num)
'25: 利用Stream下載文件 downloadFile(strFile)
'26: 返回信息 send_back(ResultWords)
'27: 獲取錯(cuò)誤信息 get_err()
'28: 與SafeRequest相反 SafeResponse(content)
'29: 保存遠(yuǎn)程圖片 SaveRemoteFile(LocalFileName,RemoteFileUrl)
'30: ...
dim language_arr(10)
language_arr(0) = "數(shù)據(jù)庫連接的參數(shù)設(shè)置錯(cuò)誤!"
language_arr(1) = "數(shù)據(jù)庫連接的類型參數(shù)設(shè)置錯(cuò)誤!"
language_arr(2) = "數(shù)據(jù)庫連接失??!"
language_arr(3) = "非法的參數(shù)值!"
language_arr(4) = "參數(shù)值不是有效的日期格式!"
language_arr(5) = "操作失?。?
language_arr(6) = "欄目有重名!"
language_arr(7) = "欄目名稱為空!"
language_arr(8) = "欄目文件夾創(chuàng)建失敗!"
language_arr(9) = "您沒有此權(quán)限!"
'============================================================================================================================
'函數(shù)ID:1
'函數(shù)作用:建立數(shù)據(jù)庫的連接
'作者名稱:茫仔 xiamangmang@gmail.com 博客:blog.mzoe.com
'建立時(shí)間:2006-2-15 10:28
'修改時(shí)間:
'傳人參數(shù):
' connectStr:數(shù)據(jù)庫連接字符串
' connectType:數(shù)據(jù)庫類別-數(shù)字型,0為Access,1為MS SQL
'返回值:
'============================================================================================================================
sub ConnOpen(DataBaseConnectStr,DBType,Conn_object)
Set Conn_object = Server.Createobject("adodb.connection")
if DataBaseConnectStr = "" then call ShowErr(language_arr(0))
if DBType = 0 then
Conn_object.Open "driver={Microsoft Access Driver (*.mdb)};dbq=" & DataBaseConnectStr
elseif DBType = 1 then
Conn_object.Open "Provider=SQLOLEDB.1;" & DataBaseConnectStr
else
call ShowErr(language_arr(1))
end if
err.clear
end sub
'============================================================================================================================
'函數(shù)ID:2
'函數(shù)作用:斷開數(shù)據(jù)庫的連接
'作者名稱:茫仔 xiamangmang@gmail.com 博客:blog.mzoe.com
'建立時(shí)間:2006-2-16 15:10
'修改時(shí)間:
'傳人參數(shù):
'返回值:
'============================================================================================================================
Sub ConnClose(Conn_object)
Conn_object.close
set Conn_object = nothing
End sub
'============================================================================================================================
'函數(shù)ID:3
'函數(shù)作用:防止SQL注入
'作者名稱:http://news.dvbbs.net/infoview/Article_2906.html
'建立時(shí)間:2006-2-16 15:32
'修改時(shí)間:
'傳人參數(shù):
' paraName:參數(shù)名稱-字符型
' paraType:參數(shù)類型-數(shù)字型(1表示以上參數(shù)是數(shù)字,0表示以上參數(shù)為字符)
'返回值:
' 過濾后的字符串
'============================================================================================================================
Function SafeRequest(paraName,paraType)
dim paraValue
paraValue = Request(paraName)
select case paraType
case 0
paraValue = replace(paraValue,"'","[system:34]")
paraValue = replace(paraValue,"=","[system:61]")
case 1
if not IsNumeric(paraValue) then call ShowErr(language_arr(3))
case -1
if not IsNumeric(paraValue) then call ShowErr(language_arr(3))
if paraValue = "" then paraValue = 0
case else
if len(paraValue) > paraType then call ShowErr(language_arr(3))
paraValue = replace(paraValue,"'","[system:34]")
paraValue = replace(paraValue,"=","[system:61]")
end select
SafeRequest = paraValue
End function
'============================================================================================================================
'函數(shù)ID:4
'函數(shù)作用:格式化日期
'作者名稱:茫仔 xiamangmang@gmail.com 博客:blog.mzoe.com
'建立時(shí)間:2006-2-16 15:45
'修改時(shí)間:
'傳人參數(shù):
' dateStr:日期字符串
' paraType:日期類型-數(shù)字型
'返回值:
' 格式化后的日期
'============================================================================================================================
Function DateFormat(dateStr,dateType)
Dim dateString
if IsDate(dateStr) = False then
call ShowErr(language_arr(4))
end if
Select Case dateType
Case "1"
dateString = Year(dateStr)&"-"&Month(dateStr)&"-"&Day(dateStr)
Case "2"
dateString = Year(dateStr)&"."&Month(dateStr)&"."&Day(dateStr)
Case "3"
dateString = Year(dateStr)&"/"&Month(dateStr)&"/"&Day(dateStr)
Case "4"
dateString = Month(dateStr)&"/"&Day(dateStr)&"/"&Year(dateStr)
Case "5"
dateString = Day(dateStr)&"/"&Month(dateStr)&"/"&Year(dateStr)
Case "6"
dateString = Month(dateStr)&"-"&Day(dateStr)&"-"&Year(dateStr)
Case "7"
dateString = Month(dateStr)&"."&Day(dateStr)&"."&Year(dateStr)
Case "8"
dateString = Month(dateStr)&"-"&Day(dateStr)
Case "9"
dateString = Month(dateStr)&"/"&Day(dateStr)
Case "10"
dateString = Month(dateStr)&"."&Day(dateStr)
Case "11"
dateString = Month(dateStr)&language_arr(6)&Day(dateStr)&language_arr(7)
Case "12"
dateString = Day(dateStr)&language_arr(7)&Hour(dateStr)&language_arr(8)
case "13"
dateString = Day(dateStr)&language_arr(7)&Hour(dateStr)&language_arr(8)
Case "14"
dateString = Hour(dateStr)&language_arr(8)&Minute(dateStr)&language_arr(9)
Case "15"
dateString = Hour(dateStr)&":"&Minute(dateStr)
Case "16"
dateString = Year(dateStr)&language_arr(5)&Month(dateStr)&language_arr(6)&Day(dateStr)&language_arr(7)
Case Else
dateString = dateStr
End Select
DateFormat = dateString
End Function
'============================================================================================================================
'函數(shù)ID:5
'函數(shù)作用:顯示錯(cuò)誤提示
'作者名稱:茫仔 xiamangmang@gmail.com 博客:blog.mzoe.com
'建立時(shí)間:2006-2-16 16:29
'修改時(shí)間:
'傳人參數(shù):
' errStr:錯(cuò)誤提示-字符型
'返回值:返回提交頁面
'============================================================================================================================
sub ShowErr(errStr)
Response.Write("<script>alert("""&errStr&""");location.href=""javascript:history.back()"";</script>")
Response.End
End sub
'============================================================================================================================
'函數(shù)ID:6
'函數(shù)作用:查詢字符串中特定數(shù)據(jù)
'作者名稱:茫仔 xiamangmang@gmail.com 博客:blog.mzoe.com
'建立時(shí)間:2006-2-16 16:40
'修改時(shí)間:
'傳人參數(shù):
' contentStr:查詢字符串
' patternStr:匹配式字符串
' patternNum:查詢定位-數(shù)字型
'返回值:
' 找不到返回false
' patternNum為-1返回所有匹配字符串并以[10]隔開
' 否則返回指定位置的字符串
'============================================================================================================================
Function SelectStr(contentStr,patternStr,patternNum)
dim objRegExp,matches,matche
if contentStr = "" then
call ShowErr(language_arr(12))
end if
Set objRegExp=new RegExp '建立正則表達(dá)式
objRegExp.pattern = patternStr '設(shè)置模式
objRegExp.IgnoreCase =False '設(shè)置是否區(qū)分字符大小寫
objRegExp.Global=true '設(shè)置全局可用性
objRegExp.pattern = patternStr '匹配式
if objRegExp.test(contentStr) = false then '全局匹配
SelectStr = false
else
Set matches = objRegExp.Execute(contentStr) '執(zhí)行搜索
if patternNum = -1 then
for each matche in matches
SelectStr = SelectStr &"[10]"& matche.value
next
else
SelectStr = matches.Item(patternNum).value
end if
end if
Set objRegExp=Nothing
End Function
'============================================================================================================================
'函數(shù)ID:7
'函數(shù)作用:過濾指定字符
'作者名稱:茫仔 xiamangmang@gmail.com 博客:blog.mzoe.com
'建立時(shí)間:2006-2-16 16:59
'修改時(shí)間:
'傳人參數(shù):
' contentStr:源字符串
' badWords:要過濾的字符串,若數(shù)目大于1則用英文狀態(tài)的"^"隔開
'返回值:
' 返回過濾后的字符串
'============================================================================================================================
Function Leach(contentStr,badWords)
dim badWordsArr,i
badWordsArr = Split(badWords,"^")
for i = 0 to UBound(badWordsArr)
contentStr = replace(contentStr,badWordsArr(i),"")
next
leach = contentStr
end Function
'============================================================================================================================
'函數(shù)ID:8
'函數(shù)作用:遠(yuǎn)程文件內(nèi)容抓取
'作者名稱:茫仔 xiamangmang@gmail.com 博客:blog.mzoe.com
'建立時(shí)間:2006-2-16 17:24
'修改時(shí)間:
'傳人參數(shù):
' urlStr:遠(yuǎn)程文件地址
'返回值:
' 返回遠(yuǎn)程文件內(nèi)容
'============================================================================================================================
function Seize(urlStr)
dim connect
if urlStr = "" then
call ShowErr(language_arr(13))
else
Set connect = CreateObject("Microsoft.XMLHTTP") '建立XMLHTTP對(duì)象
connect.open "GET",urlStr,false '設(shè)置參數(shù),通信方式為get,請(qǐng)求為同步,后面還有兩個(gè)可選屬性:userID,password用于用戶驗(yàn)證
connect.send() '數(shù)據(jù)發(fā)送,Send方法的參數(shù)類型可以是字符串、DOM樹或任意數(shù)據(jù)流
Seize = BytesToBStr(connect.responseBody,"GB2312") '返回信息,編碼為中文
set connect = nothing
end if
end function
'============================================================================================================================
'函數(shù)ID:9
'函數(shù)作用:數(shù)據(jù)流編碼處理
'作者名稱:茫仔 xiamangmang@gmail.com 博客:blog.mzoe.com
'建立時(shí)間:2006-2-16 17:30
'修改時(shí)間:
'傳人參數(shù):
' body:數(shù)據(jù)內(nèi)容
' cset:編碼格式
'返回值:
' 編碼處理后的信息
'============================================================================================================================
Function BytesToBstr(body,cset)
dim objstream
set objstream = Server.CreateObject("adodb.stream")
objstream.Type = 1 '以二進(jìn)制模式打開
objstream.Mode =3
objstream.Open
objstream.Write body
objstream.Position = 0
objstream.Type = 2
objstream.Charset = cset
BytesToBstr = objstream.ReadText
objstream.Close
set objstream = nothing
End Function
'============================================================================================================================
'函數(shù)ID:10
'函數(shù)作用:編碼cookies
'作者名稱:茫仔 xiamangmang@gmail.com 博客:blog.mzoe.com
'建立時(shí)間:2006-2-16 17:36
'修改時(shí)間:
'傳人參數(shù):
' contentStr:數(shù)據(jù)內(nèi)容
'返回值:
' 編碼處理后的信息,字符以"a"隔開
'============================================================================================================================
Function codeCookie(contentStr)
Dim i,returnStr
For i = Len(contentStr) to 1 Step -1
returnStr = returnStr & Ascw(Mid(contentStr,i,1))
If (i <> 1) Then returnStr = returnStr & "a"
Next
CodeCookie = returnStr
End Function
'============================================================================================================================
'函數(shù)ID:11
'函數(shù)作用:解碼cookies
'作者名稱:茫仔 xiamangmang@gmail.com 博客:blog.mzoe.com
'建立時(shí)間:2006-2-17 16:58
'修改時(shí)間:
'傳人參數(shù):
' contentStr:數(shù)據(jù)內(nèi)容
'返回值:
' 解碼處理后的信息
'============================================================================================================================
Function DecodeCookie(contentStr)
Dim i
Dim StrArr,StrRtn
StrArr = Split(contentStr,"a")
For i = 0 to UBound(StrArr)
If isNumeric(StrArr(i)) = True Then
StrRtn = Chrw(StrArr(i)) & StrRtn
Else
StrRtn = contentStr
Exit Function
End If
Next
DecodeCookie = StrRtn
End Function
'============================================================================================================================
'函數(shù)ID:12
'函數(shù)作用:檢驗(yàn)數(shù)據(jù)提交來源是否合法
'作者名稱:茫仔 xiamangmang@gmail.com 博客:blog.mzoe.com
'建立時(shí)間:2006-2-18 18:55
'修改時(shí)間:
'傳人參數(shù):
'
'返回值:
' Boolean
'============================================================================================================================
Function ChkPost()
Dim server_v1,server_v2
Chkpost=False
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 Chkpost=True
End Function
'============================================================================================================================
相關(guān)文章
ASP在ACCESS中模糊查詢"內(nèi)存溢出"的解決方法
這篇文章主要介紹了ASP在ACCESS中模糊查詢"內(nèi)存溢出"的解決方法,本文導(dǎo)致這個(gè)問題的原因是字符編碼問題,使用了一個(gè)轉(zhuǎn)碼函數(shù)解決,需要的朋友可以參考下2014-06-06asp實(shí)現(xiàn)圖片右鍵滑輪控制大小的函數(shù)
asp實(shí)現(xiàn)圖片右鍵滑輪控制大小的函數(shù)...2007-08-08Asp限制IP訪問 阻止某一個(gè)IP段禁止訪問本站的代碼
經(jīng)常有些地方性的B2B或者B2C網(wǎng)站到處都被批量發(fā)布好多垃圾信息,把我的解決辦法分享給大家2011-12-12asp中獲取當(dāng)前月份距離以前某個(gè)時(shí)間的月份數(shù)
獲取當(dāng)前月份距離以前某個(gè)時(shí)間的月份數(shù),asp都是用DateDiff函數(shù)來實(shí)現(xiàn)2012-04-04