1. 论坛系统升级为Xenforo,欢迎大家测试!
    排除公告

asp常用函数

本帖由 小叶2006-04-24 发布。版面名称:后端开发

  1. 小叶

    小叶 New Member

    注册:
    2005-09-04
    帖子:
    17,941
    赞:
    33
    PHP:
    ' ********************************************
    以下为常用函数
    ' ********************************************
    ============================================
    ' 错误返回处理
    ============================================
    Sub Go_Error(str)
        
    'Call DBConnEnd()
        Response.Write "<script language=javascript>alert('" & str & "
    \n\n系统将自动返回前一页面...');history.back();</script>"
        Response.End
    End Sub

    ============================================
    ' 格式化时间(显示)
    参数:n_Flag
    '    1:"yyyy-mm-dd hh:mm:ss"
    '    
    2:"yyyy-mm-dd"
    '    3:"hh:mm:ss"
    '    
    4:"yyyy年mm月dd日"
    ' ============================================
    Function Format_Time(s_Time, n_Flag)
        Dim y, m, d, h, mi, s
        Format_Time = ""
        If IsDate(s_Time) = False Then Exit Function
        y = cstr(year(s_Time))
        m = cstr(month(s_Time))
        If len(m) = 1 Then m = "0" & m
        d = cstr(day(s_Time))
        If len(d) = 1 Then d = "0" & d
        h = cstr(hour(s_Time))
        If len(h) = 1 Then h = "0" & h
        mi = cstr(minute(s_Time))
        If len(mi) = 1 Then mi = "0" & mi
        s = cstr(second(s_Time))
        If len(s) = 1 Then s = "0" & s
        Select Case n_Flag
        Case 1
            ' 
    yyyy-mm-dd hh:mm:ss
            Format_Time 
    "-" "-" " " ":" mi ":" s
        
    Case 2
            
    ' yyyy-mm-dd
            Format_Time = y & "-" & m & "-" & d
        Case 3
            ' 
    hh:mm:ss
            Format_Time 
    ":" mi ":" s
        
    Case 4
            
    ' yyyy年mm月dd日
            Format_Time = y & "年" & m & "月" & d & "日"
        End Select
    End Function

    ============================================
    ' 把字符串进行HTML解码,替换server.htmlencode
    去除Html格式,用于显示输出
    ' ============================================
    Function outHTML(str)
        Dim sTemp
        sTemp = str
        outHTML = ""
        If IsNull(sTemp) = True Then
            Exit Function
        End If
        sTemp = Replace(sTemp, "&", "&amp;")
        sTemp = Replace(sTemp, "<", "&lt;")
        sTemp = Replace(sTemp, ">", "&gt;")
        sTemp = Replace(sTemp, Chr(34), "&quot;")
        sTemp = Replace(sTemp, Chr(10), "<br>")
        outHTML = sTemp
    End Function

    ============================================
    ' 去除Html格式,用于从数据库中取出值填入输入框时
    注意:value="?"这边一定要用双引号
    ' ============================================
    Function inHTML(str)
        Dim sTemp
        sTemp = str
        inHTML = ""
        If IsNull(sTemp) = True Then
            Exit Function
        End If
        sTemp = Replace(sTemp, "&", "&amp;")
        sTemp = Replace(sTemp, "<", "&lt;")
        sTemp = Replace(sTemp, ">", "&gt;")
        sTemp = Replace(sTemp, Chr(34), "&quot;")
        inHTML = sTemp
    End Function

    ============================================
    ' 检测上页是否从本站提交
    返回:True,False
    ' ============================================
    Function IsSelfRefer()
        Dim sHttp_Referer, sServer_Name
        sHttp_Referer = CStr(Request.ServerVariables("HTTP_REFERER"))
        sServer_Name = CStr(Request.ServerVariables("SERVER_NAME"))
        If Mid(sHttp_Referer, 8, Len(sServer_Name)) = sServer_Name Then
            IsSelfRefer = True
        Else
            IsSelfRefer = False
        End If
    End Function

    ============================================
    ' 得到安全字符串,在查询中使用
    ============================================
    Function 
    Get_SafeStr(str)
        
    Get_SafeStr Replace(Replace(Replace(Trim(str), "'"""), Chr(34), ""), ";""")
    End Function

    ' ============================================
    取实际字符长度
    ' ============================================
    Function Get_TrueLen(str)
        Dim l, t, c, 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
        Next
        Get_TrueLen = t
    End Function

    ============================================
    ' 判断是否安全字符串,在注册登录等特殊字段中使用
    ============================================
    Function 
    IsSafeStr(str)
        
    Dim s_BadStrni
        s_BadStr 
    "'  &<>?%,;:()`~!@#$^*{}[]|+-=" Chr(34) & Chr(9) & Chr(32)
        
    Len(s_BadStr)
        
    IsSafeStr True
        
    For 1 To n
            
    If Instr(strMid(s_BadStri1)) > 0 Then
                IsSafeStr 
    False
                
    Exit Function
            
    End If
        
    Next
    End 
    Function
     
  2. 不学无术

    不学无术 Ulysses 的元神

    注册:
    2005-08-31
    帖子:
    16,714
    赞:
    39
    BC,某些我已经发过了。

    而且第一个错误处理,不太好。

    个人觉得应该加上一个参数,作为跳转目标。缺省的情况下可以考虑返回上一页面。

    时间格式转换函数,可以看看 PJBLog 的。
     
  3. 小叶

    小叶 New Member

    注册:
    2005-09-04
    帖子:
    17,941
    赞:
    33
    都这么简单,不自己改。靠。