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