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

📄 ixs_clsmain.asp

📁 这个是一个<图片系统>,但是又是不能用的..所以..上传上来..等你们改良一下
💻 ASP
📖 第 1 页 / 共 4 页
字号:
			TempStr = TempStr & Str
		Next
		Clone = TempStr
	End Function
	' ============================================
	' 按照指定的正则表达式替换字符
	' ============================================
	Public Function ReFilter(p_Patrn, p_Str, p_Type, ReplaceWith)
		Dim RegEx
		Set RegEx = New RegExp
		If p_Type = 1 Then
			RegEx.Global = True
		Else
			RegEx.Global = False
		End If
		RegEx.Pattern = p_Patrn
		RegEx.IgnoreCase = True
		ReFilter = RegEx.Replace(p_Str, ReplaceWith)
	End Function
	' ============================================
	' 按照指定的正则表达式返回字符
	' ============================================
	Public Function ReSearch(p_Patrn, p_Str, p_Type, Spacer)
		Dim RegEx, Match, Matches , RetStr, i
		i = 0
		Set RegEx = New RegExp
		RegEx.Pattern = p_Patrn
		RegEx.IgnoreCase = True
		RegEx.Global = True
		Set Matches = RegEx.Execute(p_Str)
		For Each Match In Matches
			i = i + 1
			If p_Type = 0 Then
				RetStr = RetStr & Match.Value
				If i < Matches.Count Then RetStr = RetStr & Spacer
			Else
				RetStr = RetStr & Match.Value
				If i < Matches.Count Then RetStr = RetStr & Spacer
				If p_Type = i Then Exit For
			End If
		Next
		ReSearch = RetStr
	End Function
	' ============================================
	' 将文本中的HTML标记清理掉 清理后尾部追加:StrWith
	' ============================================
	Public Function RemoveHTML(StrHTML, StrWith)
		Dim RegEx, Match, Matches
		Set RegEx = New Regexp
		RegEx.IgnoreCase = True
		RegEx.Global = True
		RegEx.Pattern = "<.+?>"
		Set Matches = RegEx.Execute(StrHTML)
		For Each Match In Matches
			StrHtml = Replace(StrHTML, Match.Value, "")
		Next
		StrHtml = StrHTML & StrWith
		RemoveHTML = StrHTML
		Set RegEx = Nothing
	End Function
	' ============================================
	' 将字符串中的Str中的HTML代码进行过滤 用于显示HTML代码
	' ============================================
	Public Function HTMLEncode(Str)
		HTMLEncode = ""
		If Trim(Str) = "" Or IsNull(Str) Then Exit Function
		Str = Replace(Str, ">", "&gt;")
		Str = Replace(Str, "<", "&lt;")
		Str = Replace(Str, "''", "'")
		Str = Replace(Str, Chr(32), "&nbsp;")
		Str = Replace(Str, Chr(9), "&nbsp;")
		Str = Replace(Str, Chr(34), "&quot;")
		Str = Replace(Str, Chr(39),"&#39;")
		Str = Replace(Str, Chr(13), "")
		Str = Replace(Str, Chr(10), "<br />")
		HTMLEncode = Str
	End Function
	' ============================================
	' 去除Html格式,用于从数据库中取出值填入输入框时 注意:value="?" 这边一定要用双引号
	' ============================================
	Public Function inHTML(Str)
		inHTML = ""
		If Trim(Str) = "" Or IsNull(Str) Then Exit Function
		Str = Replace(Str, "&", "&amp;")
		Str = Replace(Str, "<", "&lt;")
		Str = Replace(Str, ">", "&gt;")
		Str = Replace(Str, Chr(34), "&quot;")
		inHTML = Str
	End Function
	' ============================================
	' 用于JS代码输出
	' ============================================
	Function FixJs(Str)
		If Str <>"" Then
			str = Replace(Str,"\", "\\")
			Str = Replace(Str, Chr(34), "\""")
			Str = Replace(Str, Chr(39),"\'")
			Str = Replace(Str, Chr(13), "\n")
			Str = Replace(Str, Chr(10), "\r")
			str = Replace(Str,"'", "&#39;")
		End If
		FixJs = Str
	End Function
	' ============================================
	' 用于JS解码
	' ============================================
	Function EnFixJs(Str)
		If Str <>"" Then
			Str = Replace(Str, "&#39;", "'")
			Str = Replace(Str, "\""", Chr(34))
			Str = Replace(Str, "\'", Chr(39))
			Str = Replace(Str, "\r", Chr(10))
			Str = Replace(Str, "\n", Chr(13))
			Str = Replace(Str, "\\", "\")
		End If
		EnFixJs = Str
	End Function
	' ============================================
	' 取实际字符长度 临时解决方案
	' ============================================
	Public Function StrLen(Str)
		Dim l, t, i
		If Str = "" Or IsNull(Str) Then
			StrLen = 0
			Exit Function
		Else
			l = Len(Str)
			t = l
			For i = 1 To l
				If AscW(Mid(Str, i, 1)) > 255 Then t = t + 1
			Next
			StrLen = t
		End If
	End Function
	' ============================================
	' 截取源字符串Str的前LenNum个字符
	' 一个中文字符为2个字节长
	' 如果被截取,尾部追加:StrWith
	' ============================================
	Public Function Cut(p_Value, LenNum, StrWith)
		Dim P_Num, X
		If StrLen(p_Value) <= LenNum Then
			Cut = p_Value
		Else
			P_Num = 0
			X = 0
			Do While Not P_Num > LenNum - 2
				X = X + 1
				If AscW(Mid(p_Value, X, 1)) > 255 Or UCase(Mid(p_Value, X, 1)) = "W" Then
					P_Num = Int(P_Num) + 2
				Else
					P_Num = Int(P_Num) + 1
				End If
				Cut = Left(Trim(p_Value), X) & StrWith
			Loop
		End If
	End Function
	' ============================================
	' 验证邮件地址的合法性
	' ============================================
	Public Function IsEmail(Email)
		IsEmail = True
		If Email = "" Then IsEmail = False : Exit Function
		Dim RegEx
		Set RegEx = New RegExp
		RegEx.Pattern = "^(\w+@\w+\.\w+)(\.{0,1}\w*)(\.{0,1}\w*)$"
		RegEx.IgnoreCase = True
		RegEx.Global = True
		IsEmail = RegEx.Test(Email)
		Set RegEx = Nothing
	End Function
	' ============================================
	' 检查IP地址合法性
	' ============================================
	Public Function IsIp(IP, p_Type)
		IsIp = True
		If IP = "" Then IsIp = False : Exit Function
		Dim RegEx
		Set RegEx = New RegExp
		If p_Type = 1 Then ' 用于兼容通配符,应用在IP限制
			RegEx.Pattern = "^((0|\*)?|[1-9|\*](\d|\*)?|[0-1|\*](\d|\*){2}|2[0-4|\*](\d|\*)|25[0-5|\*])\.((0|\*)?|[1-9|\*](\d|\*)?|[0-1|\*](\d|\*){2}|2[0-4|\*](\d|\*)|25[0-5|\*])\.((0|\*)?|[1-9|\*](\d|\*)?|[0-1|\*](\d|\*){2}|2[0-4|\*](\d|\*)|25[0-5|\*])\.((0|\*)?|[1-9|\*](\d|\*)?|[0-1|\*](\d|\*){2}|2[0-4|\*](\d|\*)|25[0-5|\*])$"
		Else
			RegEx.Pattern = "^(0?|[1-9]\d?|[0-1]\d{2}|2[0-4]\d|25[0-5])\.(0?|[1-9]\d?|[0-1]\d{2}|2[0-4]\d|25[0-5])\.(0?|[1-9]\d?|[0-1]\d{2}|2[0-4]\d|25[0-5])\.(0?|[1-9]\d?|[0-1]\d{2}|2[0-4]\d|25[0-5])$"
		End If
		RegEx.IgnoreCase = True
		RegEx.Global = True
		IsIp = RegEx.Test(IP)
		Set RegEx = Nothing
	End Function
	' ============================================
	' 格式化时间(用于显示)
	' ============================================
	Public Function FormatTime(s_Time, n_Flag)
		If IsDate(s_Time) = False Then Exit Function
		Dim y, m, d, h, mi, s, w
		' 增加客户端时区同步功能
		' 全站显示时间时必须调用此方法,否则无法正确显示时区
		s_Time = DateAdd("h", TimeZone - Main_Setting(18), s_Time)
		FormatTime = ""
		
		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
		
		W = Split(Main_Setting(68), ",")(Weekday(s_Time) - 1)
		
		Select Case n_Flag
			Case 1 ' yyyy-mm-dd hh:mm:ss
				FormatTime = y & "-" & m & "-" & d & " " & h & ":" & mi & ":" & s
			Case 2 ' yyyy-mm-dd
				FormatTime = y & "-" & m & "-" & d
			Case 3 ' mm-dd
				FormatTime = m & "-" & d
			Case 4 ' hh:mm:ss
				FormatTime = h & ":" & mi & ":" & s
			Case 5 ' yyyymmddhhmmss
				FormatTime = y & m & d & h & mi & s
			Case 6 ' yyyy年mm月dd日
				FormatTime = y & "年" & m & "月" & d & "日"
			Case 7 ' yyyy年mm月dd日 hh时mm分ss秒
				FormatTime = y & "年" & m & "月" & d & "日" & " " & h & "时" & mi & "分" & s & "秒"
			Case 8 ' yyyy年mm月dd日 星期w
				FormatTime = y & "年" & m & "月" & d & "日" & " " & w
		End Select
	End Function
	' ============================================
	' 判断是否安全字符串,在注册登陆等特殊字段中使用
	' ============================================
	Public Function IsSafeStr(Str)
		Dim s_BadStr, n, i
		s_BadStr = "'  &<>?%,;:()`~!@#$^*{}[]|+-=" & Chr(34) & Chr(9) & Chr(32) & Main_Setting(50)
		n = Len(s_BadStr)
		IsSafeStr = True
		If Str = "" Or IsNull(Str) Then
			IsSafeStr = False
			Exit Function
		End If
		For i = 1 To n
			If InStr(Str, Mid(s_BadStr, i, 1)) > 0 Then
				IsSafeStr = False
				Exit Function
			End If
		Next
	End Function
	' ============================================
	' 函数名称:Format_Ip
	' 函数功能:IP地址转换函数
	' 其他说明:无
	' 传入参数:
	'    1、ip:需要格式化的IP地址
	'    2、p_Type:格式化方法
	' 返回结果:
	'    p_Type = 0:格式化后为15位IP地址格式
	'    p_Type = 1:转换成双精度整数
	' ============================================
	Public Function Format_Ip(ip, p_Type)
		Dim a, i, Sip
		a = Split(ip, ".")
		If UBound(a) <> 3 Then Format_Ip = 0 : Exit Function
		For i = 0 To 3
			Sip = Sip + CInt(a(i)) * (256 ^ (3 - i))
			If CLng(p_Type) = 6 Then ' 还原成通用格式
				a(i) = ReFilter("0+", a(i), 1, "")
				If a(i) = "" Then a(i) = "0"
				Format_Ip = Format_Ip & a(i) & "."
			Else
				Format_Ip = Format_Ip & (String(3 - Len(a(i)), "0") & a(i) & ".")
			End If
		Next
		Format_Ip = ReFilter("\.$", Format_Ip, 1, "")
		Select Case CLng(p_Type)
			Case 1 ' 显示前三段 127.000.000.***
				Format_Ip = Left(Format_Ip, 12) & "***"
			Case 2 ' 显示前两段 127.000.***.***
				Format_Ip = Left(Format_Ip, 8) & "***.***"
			Case 3 ' 显示前一段 127.***.***.***
				Format_Ip = Left(Format_Ip, 4) & "***.***.***"
			Case 4 ' 隐藏IP:***.***.***.***
				Format_Ip = "***.***.***.***"
			Case 5 ' 双精度整数
				Format_Ip = Sip
			Case Else ' 全部显示 127.000.000.001
				Format_Ip = Format_Ip
		End Select
	End Function
	' ============================================
	' 函数名称:CheckIp
	' 函数功能:检查FindIp是否在IpStr的范围内
	' 其他说明:这里使用的是字符串匹配,而不是范围匹配
	'    改函数实现了IP地址的15位数字任意限定
	' 传入参数:
	'    1、IpStr:IP地址库
	'    2、Find:待验证的IP地址
	' 返回结果:
	'    True:Find在IpStr中有匹配的项目
	'    False:Find在IpStr中无匹配的项目
	' ============================================
	Public Function CheckIp(IpStr, Find)
		Dim i, Temp, A, B
		CheckIp = False
		' 对范围值进行整形,通配符为“*”
		Temp = Split(IpStr, ".")

⌨️ 快捷键说明

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