asp 字符串截取函数

时间:2022-06-30 00:39:50

asp字符串截取函数

  1. '*********************************************************  
  2. '函数:cutStr[str(strlen)]  
  3. '参数:str,待处理的字符串,strlen,截取的长度  
  4. '作者:木木  
  5. '日期:2007/7/12  
  6. '描述:截取指定长度的字符串  
  7. '示例:<%=cutStr("欢迎光临阿里西西",5)%>  
  8.  
  9. '*********************************************************  
  10.  
  11. function cutStr(str,strlen)  
  12.  If str = "" Then  
  13.  cutStr = "cutStr函数异常:字符串为空"  
  14.  exit function  
  15.  End If  
  16. '------------来源长度检查  
  17.  If  strlen = "" Then  
  18.  cutStr = "cutStr函数异常:长度未指定"  
  19.  exit function  
  20.  End If   
  21.  
  22.  If  CInt(strlen) = 0 Then  
  23.  cutStr = "cutStr函数异常:长度为0"  
  24.  exit function  
  25.  End If   
  26. '----------检测来源字符长度  
  27.  dim l,t,c,i  
  28.  l=len(str)  
  29.  t=0  
  30. '----------循环截取字符  
  31.  for i=1 to l  
  32.  c=Abs(Asc(Mid(str,i,1)))  
  33.  '------判断是否汉字  
  34.  if c>255 then  
  35.  t=t+2  
  36.  else  
  37.  t=t+1  
  38.  end If  
  39.  '------判断是否到达指定长度  
  40.  if t>=strlen then  
  41.  cutStr=left(str,i)&".."  
  42.  exit for  
  43.  else  
  44.  cutStr=str  
  45.  end if  
  46.  next  
  47.  cutStr=replace(cutStr,chr(10),"")  
  48. end function  
  49. ''*********************************************************  
  50. '函数:strlen[str]  
  51. '参数:str,待处理的字符串  
  52. '作者:木木  
  53. '日期:2007/7/12  
  54. '描述:判断字符串长度,汉字长度为2  
  55. '示例:<%=strlen("欢迎光临阿里西西")%>  
  56. '*********************************************************  
  57. Function strlen(str)  
  58. dim p_len  
  59. p_len=0  
  60. strlen=0  
  61. if trim(str)<>"" then  
  62. p_len=len(trim(str))  
  63. for xx=1 to p_len  
  64. if asc(mid(str,xx,1))<0 then  
  65. strlen=int(strlen) + 2  
  66. else  
  67. strlen=int(strlen) + 1  
  68. end if  
  69. next  
  70. end if  
  71. End Function  
  72. 截取左边的n个字符'*********************************************************  
  73. '函数:LeftTrue(str,n)  
  74. '参数:str,待处理的字符串,n,截取的长度  
  75. '作者:木木  
  76. '日期:2007/7/12  
  77. '描述:显示左边的n个字符(自动识别汉字)函数  
  78. '示例:<%=LeftTrue("欢迎光临阿里西西",6)%>  
  79. '*********************************************************  
  80.  
  81. Function LeftTrue(str,n)  
  82. If len(str)<=n/2 Then  
  83.  LeftTrue=str  
  84. Else  
  85.  Dim TStr  
  86.  Dim l,t,c  
  87.  Dim i  
  88.  l=len(str)  
  89.  t=l  
  90.  TStr=""  
  91.  t=0  
  92.  for i=1 to l  
  93.   c=asc(mid(str,i,1))  
  94.   If c<0 then c=c+65536  
  95.   If c>255 then  
  96.   t=t+2  
  97.   Else  
  98.   t=t+1  
  99.   End If  
  100.   If t>n Then exit for  
  101.   TStr=TStr&(mid(str,i,1))  
  102.  next  
  103.  LeftTrue = TStr  
  104. End If  
  105. End Function