ASP 3.0 常用自定义函数选编

 

<%
'**************************************************
'
ASP 3.0 常用函数库
'
WDFrog选编
'
2006-04-6
'
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
'
**************************************************
Class cls_FunLib

    
Public ErrMsg,ErrId
    
Public ReURL '来路地址
    Private Sub Class_Initialize()
        ReURL
=Request.ServerVariables("HTTP_REFERER")
        
Call ClearErr()
    
End Sub
    
Private Sub Class_Terminate()
        
'//析构函数
    End Sub
    
Public Function ClearErr()
     ErrMsg
=""
     ErrId
=0
    
End Function
    
'**************************************
    '返回页面提交数据,并过滤[']["]
    'keyName 值对名
    'defValue 默认值 
    '**************************************
    Public Function GetQ(keyName,defValue)
        
Dim temp
        temp
=Safe(Request(keyName))
        
if temp=vbNullString Then
            temp
=defValue
        
End If
        GetQ
=temp
    
End Function
    
'*******************************************
    '获取页面提交的整型数据
    '******************************************
    Public Function GetInt(keyName,defValue)
        
Dim temp
        
if NOT IsNumeric(defValue) Then
            
Call Err.Raise(7474,"util","默认值应为数字!")
            
Exit Function
        
End If
        temp
=Safe(Request(keyName))
        
if temp=vbNullString Then
            temp
=defValue
        
End If
        
If  IsNumeric(temp)    Then
            GetInt
=CInt(temp)
        
End If    
    
End Function
    
'****************************************
    '过滤[']["]
    '****************************************
    Public Function Safe(str)
        str
=Replace(str,"'","")
        str
=Replace(str,"""","")
        Safe
=str
    
End Function

    
'***************************************
    '比较两个字符串是否相等
    '***************************************
    Public Function Cmp(strA,strB)
        
if Trim(UCase(Cstr(strA)))=Trim(UCase(Cstr(strB))) Then
            Cmp
=True
        
Else
            Cmp
=False
        
End If    
    
End Function
    
'****************************************
    '获取访问者IP
    '****************************************
    Public Function GetIP()
        
Dim strIPAddr
        
If Request.ServerVariables("HTTP_X_FORWARDED_FOR"= "" OR InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), "unknown"> 0 Then
            strIPAddr 
= Request.ServerVariables("REMOTE_ADDR")
        
ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ","> 0 Then
            strIPAddr 
= Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ",")-1)
        
ElseIf InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";"> 0 Then
            strIPAddr 
= Mid(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), 1InStr(Request.ServerVariables("HTTP_X_FORWARDED_FOR"), ";")-1)
        
Else
            strIPAddr 
= Request.ServerVariables("HTTP_X_FORWARDED_FOR")
        
End If
        GetIP 
= Safe(Trim(Mid(strIPAddr, 130)))
    
End Function
    
'***************************************
    '关闭本窗口
    '***************************************
    Public Function WinClose()
      Response.Write 
"<Script language=""JScript"">" & vbcrlf 
         Response.Write(
" window.close();"& vbcrlf
      Response.Write 
"</Script>" & vbcrlf 
    
End Function
    
'**************************************
    '刷新窗口
    'winType : 0,父窗口 1,本窗口
    '**************************************
    Public Function ReLoad(winType)
        Response.Write 
"<Script language=""JScript"">" & vbcrlf 
         
if winType=0 Then
            Response.Write(
"window.opener.location.reload();"& vbcrlf
         
Else
            Response.Write(
"window.location.reload();"& vbcrlf
         
End If 
        Response.Write 
"</Script>" & vbcrlf      
    
End Function
    
'****************************************
    '显示一条提示信息
    '****************************************
    Public Function MsgBox(msg)
        msg
=Replace(msg,"""","""")
        Response.Write 
"<Script language=""JScript"">"
        Response.Write 
"alert(""" & msg & """);"
        Response.Write 
"</Script>"
    
End Function
    
'**************************************************
    '客户端重定向
    '***************************************************
    Public Function Go(URL)
        Response.Write 
"<Script language=""JScript"">"
        Response.Write 
"window.location.href='" & URL & "';"
        Response.Write 
"</Script>"
    
End Function
    
'********************************************
    '显示文本域提交上来的数据
    '保证回车正常显示
    '********************************************
    Public Function Deal(str)
        
Dim iStr
        iStr
=Replace(str,"<","&lt;")
        iStr
=Replace(iStr,">","&gt;")
        iStr
=Replace(iStr,"'","""")
        iStr
=Replace(iStr,Chr(13),"<BR>")
        iStr
=Replace(iStr," ","&nbsp;")
        iStr
=Replace(iStr,vbTab,"&nbsp;&nbsp;&nbsp")
        Deal
=iStr
    
End Function
    
'**************************************
    '过滤HTML标签
    '**************************************
    Public Function NoHtml(str)
        
dim re
        
Set re=new RegExp
        re.IgnoreCase 
=true
        re.Global
=True
        re.Pattern
="(<.[^<]*>)"
        str
=re.replace(str," ")
        re.Pattern
="(</[^<]*>)"
        str
=re.replace(str," ")
        NoHtml
=str
        
set re=nothing
    
end function
    
'**************************************
    '检测是否为站外提交
    '*************************************
    Public 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, 8Len(server_v2)) = server_v2 Then
         ChkPost 
= True
        
End If 
    
End Function
    
'**************************************************
    '函数名:gotTopic
    '作  用:截字符串,汉字一个算两个字符,英文算一个字符
    '参  数:str   ----原字符串
    '       strlen ----截取长度
    '返回值:截取后的字符串
    '**************************************************
    Function gotTopic(str,strlen)
        
if str="" then
            gotTopic
=""
            
exit function
        
end if
        
dim l,t,c, i
        str
=replace(replace(replace(replace(str,"&nbsp;"," "),"&quot;",chr(34)),"&gt;",">"),"&lt;","<")
        l
=len(str)
        t
=0
        
for i=1 to l
            c
=Abs(Asc(Mid(str,i,1)))
            
if c>255 then
                t
=t+2
            
else
                t
=t+1
            
end if
            
if t>=strlen then
                gotTopic
=left(str,i) & ""
                
exit for
            
else
                gotTopic
=str
            
end if
        
next
        gotTopic
=replace(replace(replace(replace(gotTopic," ","&nbsp;"),chr(34),"&quot;"),">","&gt;"),"<","&lt;")
    
End Function
    
'**************************************************
    '函数名:strLength
    '作  用:求字符串长度。汉字算两个字符,英文算一个字符。
    '参  数:str  ----要求长度的字符串
    '返回值:字符串长度
    '**************************************************
    Public Function strLen(str)
        
ON ERROR RESUME NEXT
        
dim WINNT_CHINESE
        WINNT_CHINESE    
= (len("中国")=2)
        
if WINNT_CHINESE then
            
dim l,t,c
            
dim i
            l
=len(str)
            t
=l
            
for i=1 to l
                c
=asc(mid(str,i,1))
                
if c<0 then c=c+65536
                
if c>255 then
                    t
=t+1
                
end if
            
next
            strLen
=t
        
else 
            strLen
=len(str)
        
end if
        
if err.number<>0 then err.clear
    
end function
    
'**************************************************
    '函数名:IsObjInstalled
    '作  用:检查组件是否已经安装
    '参  数:strClassString ----组件名
    '返回值:True  ----已经安装
    '       False ----没有安装
    '**************************************************
    Public Function IsObjInstalled(strClassString)
        
On Error Resume Next
        IsObjInstalled 
= False
        Err 
= 0
        
Dim xTestObj
        
Set xTestObj = Server.CreateObject(strClassString)
        
If 0 = Err Then IsObjInstalled = True
        
Set xTestObj = Nothing
        Err 
= 0
    
End Function
    
    
'******************************************************
    '作  用: 删除一个文件
    '参  数: FileName ----完整的文件名
    '返回值: True成功,False失败
    '******************************************************
    Public Function DelFile(FileName)
        
Dim fso,whichfile,thisfile
        
If not IsObjInstalled("Scripting.FileSystemObject"Then
            DelFile
=False
        
Else
            
Set fso=CreateObject("Scripting.FileSystemObject")
            
If  fso.FileExists(FileName) Then
                whichfile
=fileName
                
Set thisfile = fso.GetFile(whichfile) 
                thisfile.Delete 
True
                DelFile
=True
            
Else
                DelFile
=False
            
End If
        
End if
    
End Function
    
'-------------根据指定名称生成目录---------
    Public Function CreateDir(foldername)
        
On Error Resume Next
        err.Clear()
        
Dim fso,f
        
Set fso = Server.CreateObject("Scripting.FileSystemObject")
        
Set f = fso.CreateFolder(foldername)
        
Set fso = nothing
        
If Err Then
            CreateDir 
= False
        
Else
            CreateDir 
= True
        
End If    
    
End Function
    
'------------------检查某一目录是否存在-------------------
    Public Function CheckDir(FolderPath)
        
dim fso
        
Set fso = Server.CreateObject("Scripting.FileSystemObject")
        
If fso.FolderExists(FolderPath) then
            CheckDir 
= True
        
Else
            CheckDir 
= False
        
End if
        
Set fso = nothing
    
End Function
    
'*********************************************
    '生成当前页地址,不包括所带参数
    '*********************************************
    Public Function GetCurURL()
        
Dim URL
        URL
="http://" & Request.ServerVariables("SERVER_NAME")
        URL
=URL & Request.ServerVariables("SCRIPT_NAME")
        GetCurURL
=URL &"?"
    
End Function
    
'****************************************    
    '完成编码转换
    '将字节串转换为GB2312 的字符串
    '**************************************
    Public Function Bytes2bStr(Byval inv)
      
Dim stream
      
Set stream=Server.CreateObject("ADODB.Stream")
      
With stream
        .Type
=2
        .Open()
        .WriteText inv
        .Position
=0
        .CharSet
="GB2312"
        .Position
=2
        Bytes2bStr
=.ReadText
        .Close()
      
End With
      
Set stream=Nothing
    
End Function
    
    
'************************************
    '生成一段随机数
    '*************************************
    Public Function GetRandNum()
        
Dim ranNum
            
randomize()
            ranNum
=int(9999*rnd)+100
            GetRandNum
=year(now)&month(now)&day(now)&hour(now)&minute(now)&second(now)&ranNum
    
End Function 
    
'*********************************
    '返回短时间
    '********************************
    Public Function ShortDate(dValue)
        ShortDate
=DatePart("yyyy",dValue) & "-" & DatePart("m",dValue) & "-" & DatePart("d",dValue)
    
End Function
    
'*************************************
    '检测给定值是否在字符中,字符串以flag([,][|]..)分割
    'Values: 数据集合
    'chkValue:检测值
    'flag:分割符号
    '************************************
    Public Function InCollection(Byval Values, byVal chkValue,ByVal flag)
        
Dim arr,iValue
        InCollection
=False
        arr
=split(Values,flag)
        
For Each iValue In arr
            
If Trim(UCase(Cstr(iValue)))=Trim(UCase(Cstr(chkValue))) Then
                InCollection
=True
                
Exit For
            
End If
        
Next
    
End Function
End Class 
%
>
<%
    
Dim util
    
Set util=New cls_FunLib
%
>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值