<%
Class Cls_Text
'=================
Private l,t,c,i
Private bwords,Temp
Private Sub Class_Initialize()
l=0
t=0
c=0
i=0
End Sub
Private Sub Class_Terminate()
bwords = Empty
Temp = Empty
End Sub
'**************************************************
'函数名:strLen
'作 用:求字符串长度。汉字算两个字符,英文算一个字符。
'参 数:str ----要求长度的字符串
'返回值:字符串长度
'**************************************************
Public Function StrLen(str)
If IsNull(str) Or Str = "" Then
strLen = 0
Exit Function
End If
Dim WINNT_CHINESE
WINNT_CHINESE=(Len("例子")=2)
If WINNT_CHINESE Then
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
strLen=t
Else
strLen=Len(str)
End If
End Function
'**************************************************
'函数名:StrLeft
'作 用:截字符串,汉字一个算两个字符,英文算一个字符
'参 数:str ----原字符串
' strlen ----截取长度
'返回值:截取后的字符串
'**************************************************
Public Function StrLeft(str,strlen)
If str="" Then
StrLeft=""
Exit Function
End If
str=Replace(Replace(Replace(Replace(str," "," "),""",Chr(34)),">",">"),"<","<")
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
StrLeft=Left(str,i) & "..."
Exit For
Else
StrLeft=str
End If
Next
StrLeft=Replace(Replace(Replace(replace(StrLeft," "," "),Chr(34),"""),">",">"),"<","<")
End Function
'*******************
'屏蔽字符
'*******************
Public Function ChkBadWords(fString,BadWords)
bwords = Split(BadWords, "|")
For i = 0 To ubound(bwords)
fString = Replace(fString, bwords(i), string(len(bwords(i)),"*"), 1,-1,1)
Next
ChkBadWords = fString
End Function
'*********************
' 过滤HTML字符
'*********************
Public Function HTMLEncode(fString)
If IsNull(fString) Or fString="" Then
HTMLEncode=""
Exit Function
End If
fString = replace(fString, ">", ">")
fString = replace(fString, "<", "<")
fString = Replace(fString, CHR(32), " ")
fString = Replace(fString, CHR(9), " ")
fString = Replace(fString, CHR(34), """)
fString = Replace(fString, CHR(39), "'")
fString = Replace(fString, CHR(13), "")
fString = Replace(fString, CHR(10) & CHR(10), "</P><P> ")
fString = Replace(fString, CHR(10), "<BR> ")
HTMLEncode = fString
End Function
'***************
'传字符值
'***************
Public Function GetStr(Index)
Temp = Request(Index)
If IsEmpty(Temp) Then
Temp = ""
Else
Temp = SQLStr(Temp)
End If
GetStr = Temp
End Function
Public Function SQLStr(Chkstr)
Dim Str,re
Str=Trim(Chkstr)
IF isnull(Str) Then
SQLStr = ""
Exit Function
End IF
Set re=new RegExp
re.IgnoreCase =true
re.Global=True
re.Pattern="(/r/n){3,}"
str=re.Replace(str,"$1$1$1")
set re=nothing
Str = Replace(Str, "'", "''", 1, -1, 1)
Str = Replace(Str, "select", "select", 1, -1, 1)
Str = Replace(Str, "join", "join", 1, -1, 1)
Str = Replace(Str, "union", "union", 1, -1, 1)
Str = Replace(Str, "where", "where", 1, -1, 1)
Str = Replace(Str, "insert", "insert", 1, -1, 1)
Str = Replace(Str, "delete", "delete", 1, -1, 1)
Str = Replace(Str, "update", "update", 1, -1, 1)
Str = Replace(Str, "like", "like", 1, -1, 1)
Str = Replace(Str, "drop", "drop", 1, -1, 1)
Str = Replace(Str, "create", "create", 1, -1, 1)
Str = Replace(Str, "modify", "modify", 1, -1, 1)
Str = Replace(Str, "rename", "rename", 1, -1, 1)
Str = Replace(Str, "alter", "alter", 1, -1, 1)
Str = Replace(Str, "cast", "cast", 1, -1, 1)
Str = Replace(Str, "master", "master", 1, -1, 1)
SQLStr=Trim(Str)
End Function
'***************
'传数字值
'*************
Public Function GetNum(Index)
Temp = Request(Index)
If Not IsEmpty(Temp) And IsNumeric(Temp) Then
GetNum = Clng(Temp)
ElseIf InStr(Temp,"'")>0 Then
GetNum = "IsErr"
Else
GetNum = 0
End If
End Function
'***************
'过滤JS
'*************
Public Function FixJs(Str)
If Str <>"" Then
'Str = Replace(Str,VBcrlf,"/n")
'Str = replace(str,"/", "//")
'Str = replace(str, chr(34), "/""")
'Str = replace(str, chr(39),"/'")
Str = replace(str, "</","<//")
End If
Fixjs=Str
End Function
'插入JavaScript脚本
Public Function JavaScript(ScriptName)
JavaScript = VBCRLF & "<Script language=JavaScript Src=Js/" & ScriptName & ".js></Script>" & VBCRLF
End Function
Public Function JsVar(EvenName,EvenValue)
JsVar = VBCRLF & "<Script language=JavaScript>var " & EvenName & " = """ & FixJs(EvenValue) & """;</Script>"
& VBCRLF
End Function
Public Function JsVarItem(VarItem,VarValue)
Dim Item
i=0
Temp = VbCrlf & "<Script language=JavaScript>" & VbCrlf
For i=0 To Ubound(VarItem)
Temp = Temp & "var " & VarItem(i) & " = """ & FixJs(VarValue(i)) & """;"& VBCRLF
Next
Temp = Temp &"</Script>" &VBCRLF
JsVarItem=Temp
End Function
Public Function JsArray(ArrayName,ArrayValue)
Dim EvenName,i
JsArray = VBCRLF & "<Script language=JavaScript>" & VBCRLF
JsArray = JsArray & "var " & ArrayName & " = Array("
JsArray = JsArray & """" & Replace(ArrayValue,"|",""",""") & """"
JsArray = JsArray & ");" & VBCRLF & "</Script>" & VBCRLF
End Function
End Class
%>