⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 stringclass.asp

📁 信息超市现免费提供, 供学习研究之用. 目前无法完整建站
💻 ASP
字号:
<%
'////////////////////////////////////////////////////////
'//                    字符串函数类库                  //
'//                      2003-06-01                    //
'////////////////////////////////////////////////////////

Class String_Class
    '//从Html<Title></Title>标签中取出文本内容
    Public Function GetTextFromHtml(strHtml)
        Dim strPatrn, RetStr
        strpatrn="<title>.*?</title>"
        Dim regEx, Match, Matches                            '建立变量。 
        Set regEx = New RegExp                               '建立正则表达式。 
        regEx.Pattern = strpatrn                             '设置模式。 
        regEx.IgnoreCase = True                              '设置是否区分字符大小写。 
        regEx.Global = True                                  '设置全局可用性。 
        Set Matches = regEx.Execute(strHtml)                 '执行搜索。 
        For Each Match in Matches                            '遍历匹配集合。 
        RetStr = RetStr & Match.Value
        Next 
        strpatrn="<.*?>"
        Set regEx = New RegExp
        regEx.Pattern = strPatrn
        regEx.IgnoreCase = True
        regEx.Global = True
        GetTextFromHtml = regEx.Replace(RetStr,"")
    End Function

    '//检测Email
    '//返回:True/False
    Public Function CheckEmail(strng)
        CheckEmail = false
        Dim regEx, Match
        Set regEx = New RegExp
        regEx.Pattern = "^\w+((-\w+)|(\.\w+))*\@[A-Za-z0-9]+((\.|-)[A-Za-z0-9]+)*\.[A-Za-z0-9]+$"
        regEx.IgnoreCase = True
        Set Match = regEx.Execute(strng)
        if match.count then CheckEmail= true
    End Function

    '//字符串是否在[0-9]&[a-z]及下划线中(不区分大小写)
    '//返回:True/False
    Public Function IsChar26AndInt(str)
        IsChar26AndInt=True
        Dim regEx,Match
        Set regEx=New RegExp
            regEx.Pattern="[\W]{1,}?"
            regEx.IgnoreCase=True
        Set Match=regEx.Execute(str)
        If Match.Count>=1 Then
            IsChar26AndInt=False
        End If
    End Function

    '//字符串是否在[a-z]中(不区分大小写)
    '//返回:True/False
    Public Function IsChar26(str)
        IsChar26=True
        Dim regEx,Match
        Set regEx=New RegExp
            regEx.Pattern="[^a-zA-Z]{1,}?"
            regEx.IgnoreCase=True
        Set Match=regEx.Execute(str)
        If Match.Count>=1 Then
            IsChar26=False
        End If
    End Function

    '//字符串是否在[0-9]中(不区分大小写)
    Public Function IsIntChar(str)
        IsIntChar=True
        Dim regEx,Match
        Set regEx=New RegExp
            regEx.Pattern="\D{1,}?"
            regEx.IgnoreCase=True
        Set Match=regEx.Execute(str)
        If Match.Count>=1 Then
            IsIntChar=False
        End If
    End Function

    '//Html字符串转Js字符串
    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

    '//扫描元素mItem是否在元素列表strItemList中
    '//参数:stritemList(被扫描元素列表,各元素以逗号隔开),mItem(欲匹配元素)
    '//返回:True/False
    '//例:myCharClass.ItemInList("1,2,3,34,23","2",",") 结果:True
    Public Function ItemInList(strItemList,mItem)
        ItemInList=False
        If IsNull(strItemList) Or IsNull(mItem="") Then
            Exit Function
        End If
        strItemList=Replace(strItemList," ","")
        If Instr(","&strItemList&",",","&mItem&",")>=1 Then
            ItemInList=True
        End If
    End Function

    '//转换Html关键标签为Html特殊字符串
    Public Function HTMLEncode(str)
        If Not Isnull(str) Then
            str = Replace(str, CHR(13), "")
            str = Replace(str, CHR(10) & CHR(10), "<P></P>")
            str = Replace(str, CHR(10), "<BR>")
            str = replace(str, ">", "&gt;")
            str = replace(str, "<", "&lt;")
            str = replace(str, "&",    "&amp;")
            str = replace(str, " ",    "&nbsp;")
            str = replace(str, """", "&quot;")
            HTMLEncode = str
        End If
    End Function

    '//转换Html关键标签为Html特殊字符串(不转换硬回车及软回车符)
    Public Function HTMLEncode2(str)
        If Not Isnull(str) Then
            str = replace(str, ">", "&gt;")
            str = replace(str, "<", "&lt;")
'            str = replace(str, "&",    "&amp;")
'            str = replace(str, " ",    "&nbsp;")
'            str = replace(str, """", "&quot;")
            HTMLEncode2 = str
        End If
    End Function

    '//函数:字符串替换
    '//参数:正则表达式,被替换字符串,替换字符串
    Public Function ReplaceTest(patrn,mStr,replStr)
        Dim regEx
        Set regEx = New RegExp
        regEx.Pattern = patrn
        regEx.IgnoreCase = True
        regEx.Global = True
        ReplaceTest = regEx.Replace(mStr,replStr)
    End Function

    '//函数:字符串查找
    '//参数:正则表达式,被替换字符串,替换字符串
    '//返回:Bool(True:找到)
    Public Function FindText(patrn,mStr)
        Dim regEx
        Set regEx = New RegExp
        regEx.Pattern = patrn
        regEx.IgnoreCase = True
        regEx.Global = True
        FindText = regEx.Test(mStr)
    End Function

    '//检测是否含有禁止字符串
    '//参数:被检测字符串,禁止字符列表(以,号隔开)
    '//返回:True(含有违禁字符)/False
    '//例:myCharClass.BadWord("你他妈的王八蛋,Fuck You","fuck you,王八蛋,you are pig")
    Public Function BadWord(str,BadWordList)
        BadWord=False
        Dim arrBadWord
            arrBadWord=Split(BadWordList,",",-1,1)
        Dim regEx
        Set regEx=New RegExp
        regEx.IgnoreCase = True            '不区分大小写
        regEx.Global = True
        Dim Match
        Dim I
        For I=0 To UBound(arrBadWord)
            response.write arrBadWord(I)&"<br>"
            If arrBadWord(I)<>"" Then
                regEx.Pattern=arrBadWord(I)
                Set Match=regEx.Execute(str)
                If Match.Count Then
                    BadWord=True
                    Exit For
                End If
            End If
        Next
    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
    
    '//时间格式化
    '//参数:时间,格式模板
    '//返回:格式化后的字符串
    '//备注:格式化关键词详解:
    '       "{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
End Class
%>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -