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 c0 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