从TSYS通用函数库中提取出了一些有用的函数

<%
    '函数:过滤Html标签
    '参数:字符串
    '返回:过滤后字符串
    Public Function FilterHtml(str)
        Dim regEx
        '创建正则对象
        Set regEx = New RegExp
        regEx.IgnoreCase = True
        regEx.Global = True
        regEx.MultiLine = True

        regEx.Pattern = "<.+?>"
        FilterHtml = regEx.Replace(str,"")
        Set regEx = Nothing
    End Function

    '函数:验证邮件地址格式
    '参数:字符串
    '返回:bool (true:正确)
    Public Function CheckEmail(str)
        Dim regEx
        '创建正则对象
        Set regEx = New RegExp
        regEx.IgnoreCase = True
        regEx.Global = True
        regEx.MultiLine = True

        regEx.Pattern = "^/w+((-/w+)|(/./w+))*/@[A-Za-z0-9]+((/.|-)[A-Za-z0-9]+)*/.[A-Za-z0-9]+$"
        CheckEmail = regEx.Test(str)
        Set regEx = Nothing
    End Function

    '函数:是否为服务实际路径
    Public Function IsReallyPath(str)
        Dim regEx
        '创建正则对象
        Set regEx = New RegExp
        regEx.IgnoreCase = True
        regEx.Global = True
        regEx.MultiLine = True

        regEx.Pattern = "^[c-z]/:.+$"
        IsReallyPath = regEx.Test(str)
        Set regEx = Nothing
    End Function

    '函数:判断路径类型
    '返回:
    '   1   物理路径
    '   2   站点虚路径
    '   3   网络路径
    Public Function ChkPathType(strPath)
        Dim regEx
        '创建正则对象
        Set regEx = New RegExp
        regEx.IgnoreCase = True
        regEx.Global = True
        regEx.MultiLine = False

        regEx.Pattern = "^[c-z]{1,1}/:.+$"
        If regEx.Test(strPath) Then
            ChkPathType = 1
            Exit Function
        End If

        regEx.Pattern = "^(?:http|https){1,1}/:.+$"
        If regEx.Test(strPath) Then
            ChkPathType = 3
            Exit Function
        End If

        ChkPathType = 2

        Set regEx = Nothing
    End Function

    '函数:字符串截断(可识别中英文)
    '参数:预截字符串,长度
    '返回:截断后的字符串
    Public Function CutStr(str,strlen)
        DIM l,t,c,m_i
        l=len(str)
        t=0
        For m_i = 1 To l
            c = Abs(Asc(Mid(str,m_i,1)))
            If c > 255 Then
                t = t+2
            Else
                t = t+1
            End If
   
            If t >= strlen Then
                CutStr = left(str,m_i) & "..."
                exit for
            Else
                CutStr = str
            End if
        Next
    End Function

    '函数:转义javascript特殊字符
    '参数:html串
    '返回:转义后的串
    Public Function HTMLToJS(strHtml)
        If Trim(strHtml)="" Then
            HTMLToJS=""
            Exit Function
        End If

        strHtml=Replace(strHtml,"/","//")
        strHtml=Replace(strHtml,"""","/""")
        strHtml=Replace(strHtml,vbCrLf,"")

        HTMLToJS=strHtml
    End Function

    '函数:时间格式化
    '参数:时间,格式模板
    '返回:格式化后的字符串
    '备注:格式化关键词详解:
    '   "{Y}" : 4位年
    '   "{y}" : 2位年
    '   "{M}" : 不补位的月
    '   "{m}" : 补位的月,如03,01
    '   "{D}" : 不补位的日
    '   "{d}" : 补位的日
    '   "{H}" : 不补位的小时
    '   "{h}" : 补位的小时
    '   "{MI}": 不补位的分钟
    '   "{mi}": 补位的分钟
    '   "{S}" : 不补位的秒
    '   "{s}" : 补位的秒
    Public Function FormatMyDate(myDate,Template)
        If Not IsDate(myDate) Or Template = "" Then
            FormatMyDate = Template
            Exit Function
        End If

        Dim mYear,mMonth,mDay,mHour,mMin,mSec
            mYear = Year(myDate)
            mMonth = Month(myDate)
            mDay = Day(myDate)
            mHour = Hour(myDate)
            mMin = Minute(myDate)
            mSec = Second(myDate)

        Template = Replace(Template,"{Y}",Year(myDate))
        Template = Replace(Template,"{y}",Right(Year(myDate),2))
        Template = Replace(Template,"{M}",Month(myDate))
        Template = Replace(Template,"{m}",Right("00" & Month(myDate),2))
        Template = Replace(Template,"{D}",Day(myDate))
        Template = Replace(Template,"{d}",Right("00" & Day(myDate),2))
        Template = Replace(Template,"{H}",Hour(myDate))
        Template = Replace(Template,"{h}",Right("00" & Day(myDate),2))
        Template = Replace(Template,"{MI}",Minute(myDate))
        Template = Replace(Template,"{mi}",Right("00" & Minute(myDate),2))
        Template = Replace(Template,"{S}",Second(myDate))
        Template = Replace(Template,"{s}",Right("00" & Second(myDate),2))

        FormatMyDate = Template
    End Function

    '函数:通用信息提示框
    '参数:
    '   提示内容
    '   返回地址,详细值类型如下:
    '       "#"      只提示,其它不做任何操作
    '       "BACK"   提示后返回前一页
    '       "CLOSE"  提示后关闭窗口
    '       "网址"    提示后返回指定页面
    '   是否父窗口
    Public Function Alert(str,backUrl,TopWindow)

        If str <> "" Then
            Response.Write "<script>alert(""" & str & """);"
        End If

        Dim WinName
        If TopWindow = 1 Then
            WinName = "top"
        Else
            WinName = "self"
        End If

        Select Case backUrl
            Case "#"
            Case "BACK"
                Response.Write WinName & ".history.back();"
            Case "CLOSE"
                Response.Write "window.close();"
            Case Else
                If backUrl <> "" Then
                    Response.Write WinName & ".location.href = """ & backUrl & """;"
                End If
        End Select
        Response.Write "</script>"
    End Function

    '函数:创建完整目录
    '参数:目录串
    Public Function CreateFolder(strPath)
        strPath = Replace(strPath,"/", "/")
        arrPath = Split(strPath, "/")
        Dim Fso, I, tmpPath, arrPath
        Set Fso = Server.CreateObject(Cfg.FileSystemObject_Name)
        tmpPath = arrPath(0)
        For I=1 To UBound(arrPath)
            tmpPath  = tmpPath & "/" & arrPath(I)
            If Not Fso.FolderExists(tmpPath) Then
                Fso.CreateFolder tmpPath
            End If
        Next
    End Function

    Public Function FormatEmpty(str, fstr)
        If IsNull(str) Or str = "" Then
            FormatEmpty = fstr
        Else
            FormatEmpty = str
        End If
    End Function


%>

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
系统内核重新编写,提升系统灵活性及可扩展能力<br> [升级]资源数据主表拆分,列表数据与内容大文本数据分表,以提升列表访问性能,减轻数据库压力。<br> [升级]频道管理,可以指定某频道个性化的目录生成规则、生成文件命名规则。<br> [修改]系统权限的管理,及权限在未来扩展开发更方便创建、使用。<br> [增加]碎片(动态型、静态型、手工型),实现对于站点页面的非专业维护人员较简单的可视在线管理与生成。<br> [增加]目录类型的识别(“/site01/”, “c:/wwwroot/”),实现了单一Tsys 2.0系统可同时管理多个完全不同的网站、多域名站点,从而达到数据在多频道间的共享互利、使得系统的维护、升级一体化(仅推荐在SqlServer的数据库实现)。<br> [修改]用户、角色权限可分离设置,同时又实现相互继承。例:在角色设置好的权限可被其下属的所有管理员继承,同时又可对该组内指定管理员分配更佳个性化的权限。<br> [增加]资源模板标签解析功能,可使用更佳个性、简易编程的标签函数,如:left(), data(), pages_list(), filter_html()等 [增加]资源碎片模板标签解析功能,可使用更佳个性、简易编程的标签函数(注:此类标签与资源模板标签实现了互用性!) [升级]资源特性,碎片的现,使得资源特性的使用更为灵活。完全可实再,如:新闻专题,页面特定位置内容生成等 [升级]文件系统,文件系统代码实现类化,方便二次扩展开发。同时一个用户可以同时被分配有多个目录的操作管理权限(删、传、改),并且可在线进行编辑保存文件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值