作者:蕾仔   出处:ltroy@163.com加入时间:2005-8-4 1:05:19 	
	例如有段字符串变量为:
a="abcd不以efg"
b=len(a)
b的值为9
但有时候为了版面设计,不让字符串宽度超过规定值时,
用len()来判断就会判断失误,所以写了以下的一个函数
<%
Function s_len(str1,num_n,sort_d) 'str1为字符串,num_n为显示左边字符串的个数,sort_d为结尾显示的符号如 ~ 或 ... 或 ** 等等 
'例如:str1="abcd不以efg"
'<%=s_len(str1,6,"....")%>
'上面输出时就系:  abcd不.... 
 length=len(str1)
 dim dd,ii
 chinese=0
 for ii=1 to length
  if asc(mid(str1,ii,1))<1 or asc(mid(str1,ii,1))>255 then '计算有多少个双字节变量
   dd=dd+1
  end if
  if dd+ii>num_n then '如果双字节变量数加上数大于规定的数(num_n),就不用循环了
   exit for
  end if
 next
 s_len=left(str1,ii) '显示左边ii(循环数)个位数
 if dd+ii>num_n then '如果实际位数(汉字算两位)超过规定的数(num_n),就在后面加上sort_d
  s_len=s_len+sort_d
 end if
End Function%>