ASP中一个字符串处理类(加强)(VBScript)

news/2024/7/10 21:20:59 标签: VBScript, ASP, ASP.net, .net

相关文章参见:

http://www.csdn.net/Develop/read_article.asp?id=22695

本文在此基础上进行了一些添加,加了几个适合中文网站的FUNCTION进去,可能还有些没有补充进去,有感兴趣的朋友可以再在此基础上加一点FUNCTION进去,不过可别忘记分享一下!

<%
class StringOperations

'****************************************************************************
'' @功能说明:把字符串换为char型数组
'' @参数说明:- str [string]: 需要转换的字符串
'' @返回值:- [Array] Char型数组
'****************************************************************************
public function toCharArray(byVal str)
redim charArray(len(str))
for i = 1 to len(str)
charArray(i-1) = Mid(str,i,1)
next
toCharArray = charArray
end function

'****************************************************************************
'' @功能说明:把一个数组转换成一个字符串
'' @参数说明:- arr [Array]: 需要转换的数据
'' @返回值:- [string] 字符串
'****************************************************************************
public function arrayToString(byVal arr)
for i = 0 to UBound(arr)
strObj = strObj & arr(i)
next
arrayToString = strObj
end function

'****************************************************************************
'' @功能说明:检查源字符串str是否以chars开头
'' @参数说明:- str [string]: 源字符串
'' @参数说明:- chars [string]: 比较的字符/字符串
'' @返回值:- [bool]
'****************************************************************************
public function startsWith(byVal str, chars)
if Left(str,len(chars)) = chars then
startsWith = true
else
startsWith = false
end if
end function

'****************************************************************************
'' @功能说明:检查源字符串str是否以chars结尾
'' @参数说明:- str [string]: 源字符串
'' @参数说明:- chars [string]: 比较的字符/字符串
'' @返回值:- [bool]
'****************************************************************************
public function endsWith(byVal str, chars)
if Right(str,len(chars)) = chars then
endsWith = true
else
endsWith = false
end if
end function

'****************************************************************************
'' @功能说明:复制N个字符串str
'' @参数说明:- str [string]: 源字符串
'' @参数说明:- n [int]: 复制次数
'' @返回值:- [string] 复制后的字符串
'****************************************************************************
public function clone(byVal str, n)
for i = 1 to n
value = value & str
next
clone = value
end function

'****************************************************************************
'' @功能说明:删除源字符串str的前N个字符
'' @参数说明:- str [string]: 源字符串
'' @参数说明:- n [int]: 删除的字符个数
'' @返回值:- [string] 删除后的字符串
'****************************************************************************
public function trimStart(byVal str, n)
value = Mid(str, n+1)
trimStart = value
end function

'****************************************************************************
'' @功能说明:删除源字符串str的最后N个字符串
'' @参数说明:- str [string]: 源字符串
'' @参数说明:- n [int]: 删除的字符个数
'' @返回值:- [string] 删除后的字符串
'****************************************************************************
public function trimEnd(byVal str, n)
value = Left(str, len(str)-n)
trimEnd = value
end function

'****************************************************************************
'' @功能说明:检查字符character是否是英文字符 A-Z or a-z
'' @参数说明:- character [char]: 检查的字符
'' @返回值:- [bool] 如果是英文字符,返回TRUE,反之为FALSE
'****************************************************************************
public function isAlphabetic(byVal character)
asciiValue = cint(asc(character))
if (65 <= asciiValue and asciiValue <= 90) or (97 <= asciiValue and asciiValue <= 122) then
isAlphabetic = true
else
isAlphabetic = false
end if
end function

'****************************************************************************
'' @功能说明:对str字符串进行大小写转换
'' @参数说明:- str [string]: 源字符串
'' @返回值:- [string] 转换后的字符串
'****************************************************************************
public function swapCase(str)
for i = 1 to len(str)
current = mid(str, i, 1)
if isAlphabetic(current) then
high = asc(ucase(current))
low = asc(lcase(current))
sum = high + low
return = return & chr(sum-asc(current))
else
return = return & current
end if
next
swapCase = return
end function

'****************************************************************************
'' @功能说明:将源字符串str中每个单词的第一个字母转换成大写
'' @参数说明:- str [string]: 源字符串
'' @返回值:- [string] 转换后的字符串
'****************************************************************************
public function capitalize(str)
words = split(str," ")
for i = 0 to ubound(words)
if not i = 0 then
tmp = " "
end if
tmp = tmp & ucase(left(words(i), 1)) & right(words(i), len(words(i))-1)
words(i) = tmp
next
capitalize = arrayToString(words)
end function

'****************************************************************************
'' @功能说明:将源字符Str后中的'过滤为''
'' @参数说明:- str [string]: 源字符串
'' @返回值:- [string] 转换后的字符串
'****************************************************************************
public function checkstr(Str)
If Trim(Str)="" Or IsNull(str) Then
checkstr=""
else
checkstr=Replace(Trim(Str),"'","''")
end if
End function

'****************************************************************************
'' @功能说明:将字符串中的str中的HTML代码进行过滤
'' @参数说明:- str [string]: 源字符串
'' @返回值:- [string] 转换后的字符串
'****************************************************************************
Public Function HtmlEncode(str)
If Trim(Str)="" Or IsNull(str) then
HtmlEncode=""
else
str=Replace(str,">","&gt;")
str=Replace(str,"<","&lt;")
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) & Chr(10), "</p><p>")
str=Replace(str,Chr(10),"<br> ")
HtmlEncode=str
end if
End Function

'****************************************************************************
'' @功能说明:计算源字符串Str的长度(一个中文字符为2个字节长)
'' @参数说明:- str [string]: 源字符串
'' @返回值:- [Int] 源字符串的长度
'****************************************************************************
Public Function strLen(Str)
If Trim(Str)="" Or IsNull(str) Then
strlen=0
else
Dim P_len,x
P_len=0
StrLen=0
P_len=Len(Trim(Str))
For x=1 To P_len
If Asc(Mid(Str,x,1))<0 Then
StrLen=Int(StrLen) + 2
Else
StrLen=Int(StrLen) + 1
End If
Next
end if
End Function

'****************************************************************************
'' @功能说明:截取源字符串Str的前LenNum个字符(一个中文字符为2个字节长)
'' @参数说明:- str [string]: 源字符串
'' @参数说明:- LenNum [int]: 截取的长度
'' @返回值:- [string]: 转换后的字符串
'****************************************************************************
Public Function CutStr(Str,LenNum)
Dim P_num
Dim I,X
If StrLen(Str)<=LenNum Then
Cutstr=Str
Else
P_num=0
X=0
Do While Not P_num > LenNum-2
X=X+1
If Asc(Mid(Str,X,1))<0 Then
P_num=Int(P_num) + 2
Else
P_num=Int(P_num) + 1
End If
Cutstr=Left(Trim(Str),X)&"..."
Loop
End If
End Function

end class
%>


http://www.niftyadmin.cn/n/609870.html

相关文章

OWC介绍

OWC介绍&#xff1a;Microsoft Office 2000中包含有一组称为OWC的新控件集合。利用这些组件&#xff0c;可以在WEB浏览器以及其他传统的编程环境下创建许多有用的数据分析解决方案与报表生成解决方案。 Office Web Component是一组COM(Component Object Model:组件对象模型)控…

PHP程序常见漏洞攻击

[全局变量] PHP 中的变量不需要事先声明&#xff0c;它们会在第一次使用时自动创建&#xff0c;它们的类型也不需要指定&#xff0c;它们会根据上下文环境自动确定。从程序员的角度来看&#xff0c;这无疑是一种极其 方便的处理方法。很显然&#xff0c;这也是快速开发语言的一…

rsync+inotify介绍

目录rsync远程同步搭建rsync搭建inotifyrsync远程同步 rsync远程同步是一款主要为快速增量备份的工具&#xff1b;可以用于本地的复制&#xff0c;也可以用户跨主机(ssh/rsync主机同步)之间的复制&#xff1b;官网&#xff1a;https://rsync.samba.org/ 搭建rsync 配置rsync…

如何缩小SQL SERVER日志文件

如何缩小SQL SERVER日志文件文章来源&#xff1a;岚山夜话HTTP://WWW.33D9.COM前几天也碰到日志文件过大的问题&#xff0c;数据库实际大小为600M,日志文件实际大小为33M,但日志文件占用空间为2.8G!!!试了多种方式&#xff0c;SHIRNKDATABASE&#xff0c;TRUNCATELOGFILE,都没办…

openstack简单介绍

目录openstack概述openstack的优势openstack的八个基础服务opentack架构介绍概念架构逻辑架构openstack环境搭建基础环境配置系统环境配置openstack概述 OpenStack 是一系列开源工具&#xff08;或开源项目&#xff09;的组合&#xff0c;主要使用池化虚拟资源来构建和管理私有…

创建rabbitmq用户报错Error: unable to connect to node rabbit@localhost: nodedown

问题描述 启动rabbitmq后创建用户显示无法连接该节点&#xff0c;该节点down了。 解决方法 杀掉rabbitmq&#xff0c;然后重启 [rootct ~]# ps aux |grep rabbitmq |grep -v grep |awk {print $2} |xargs kill -9rabbitmq-server -detached 启动rabbitmq rabbitmqctl stat…

openstack(T版):keystone认证

这目录keystone身份认证服务keystone的主要功能keystone的管理对象keystone认证流程keystone服务的部署keystone身份认证服务 Keystone (OpenStack ldentity Service&#xff09;是OpenStack中的一个独立的提供安全认证的模块&#xff0c;主要负责openstack用户的身份认证、令…

嵌套查询经典案例

嵌套查询经典案例&#xff01;&#xff01;文章来源&#xff1a;岚山夜话HTTP://WWW.33D9.COMselect [UserName],(select count(*) from company where ComidT1.UserName) as 招聘站,(select count(*) from TrainOrg where OrgIDT1.UserName) as 培训机构,(select count(*) fro…