asp字符串截取函数
- '*********************************************************
- '函数:cutStr[str(strlen)]
- '参数:str,待处理的字符串,strlen,截取的长度
- '作者:木木
- '日期:2007/7/12
- '描述:截取指定长度的字符串
- '示例:<%=cutStr("欢迎光临阿里西西",5)%>
- '*********************************************************
- function cutStr(str,strlen)
- If str = "" Then
- cutStr = "cutStr函数异常:字符串为空"
- exit function
- End If
- '------------来源长度检查
- If strlen = "" Then
- cutStr = "cutStr函数异常:长度未指定"
- exit function
- End If
- If CInt(strlen) = 0 Then
- cutStr = "cutStr函数异常:长度为0"
- exit function
- End If
- '----------检测来源字符长度
- dim l,t,c,i
- 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
- cutStr=left(str,i)&".."
- exit for
- else
- cutStr=str
- end if
- next
- cutStr=replace(cutStr,chr(10),"")
- end function
- ''*********************************************************
- '函数:strlen[str]
- '参数:str,待处理的字符串
- '作者:木木
- '日期:2007/7/12
- '描述:判断字符串长度,汉字长度为2
- '示例:<%=strlen("欢迎光临阿里西西")%>
- '*********************************************************
- Function strlen(str)
- dim p_len
- p_len=0
- strlen=0
- if trim(str)<>"" then
- p_len=len(trim(str))
- for xx=1 to p_len
- if asc(mid(str,xx,1))<0 then
- strlen=int(strlen) + 2
- else
- strlen=int(strlen) + 1
- end if
- next
- end if
- End Function
- 截取左边的n个字符'*********************************************************
- '函数:LeftTrue(str,n)
- '参数:str,待处理的字符串,n,截取的长度
- '作者:木木
- '日期:2007/7/12
- '描述:显示左边的n个字符(自动识别汉字)函数
- '示例:<%=LeftTrue("欢迎光临阿里西西",6)%>
- '*********************************************************
- Function LeftTrue(str,n)
- If len(str)<=n/2 Then
- LeftTrue=str
- Else
- Dim TStr
- Dim l,t,c
- Dim i
- l=len(str)
- t=l
- TStr=""
- t=0
- for i=1 to l
- c=asc(mid(str,i,1))
- If c<0 then c=c+65536
- If c>255 then
- t=t+2
- Else
- t=t+1
- End If
- If t>n Then exit for
- TStr=TStr&(mid(str,i,1))
- next
- LeftTrue = TStr
- End If
- End Function