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