asp自定义输出字符串可控长度函数

a550759049 2009-08-10 03:47:49

<%
dim str
str = "中文是2个字符"
response.write show(str, 7) ' 这里显示的应该是“中文是2”

function show(s, l)
' 这里怎么写啊?
end function
%>
...全文
133 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
showoter 2009-08-10
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 number123456 的回复:]
引用 3 楼 a550759049 的回复:
汗,number123456试试代码再贴啊,你那代码不好使,我要输入2的时候显示1个汉字。


我给你发的函数是按照字节截取的,如果你只想按字符截取,你用得着写函数吗?ASP自带的LEFT不是现成的吗?
[/Quote]
按字节截取用leftb,按字符截取left,挺好用的,试试。。。
number123456 2009-08-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 a550759049 的回复:]
汗,number123456试试代码再贴啊,你那代码不好使,我要输入2的时候显示1个汉字。
[/Quote]

我给你发的函数是按照字节截取的,如果你只想按字符截取,你用得着写函数吗?ASP自带的LEFT不是现成的吗?
showoter 2009-08-10
  • 打赏
  • 举报
回复
一定要用函数吗?其实可以一句代码搞定,你试试:
<%
dim str,str1
str = "中文是2个字符"
str1 = leftb(str,7)
response.Write(str1) ' 这里显示的应该是“中文是2”
%>
测试过,可以达到你的要求。。。
a550759049 2009-08-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hookee 的回复:]
内容[/Quote]这个代码也不好使
a550759049 2009-08-10
  • 打赏
  • 举报
回复
汗,number123456试试代码再贴啊,你那代码不好使,我要输入2的时候显示1个汉字。
hookee 2009-08-10
  • 打赏
  • 举报
回复

dim str
str = "中文是2个字符"
response.write show(str, 7) ' 这里显示的应该是“中文是2”

Function show(s, l)
Dim c, n, i, a, t
n = 0
t = ""
For i= 1 To Len(s)
c = Mid(s,i,1)
a = Asc(c)
If a>=0 And a<=255 Then
n = n + 1
Else
n = n + 2
End If
If n > l Then
show = t
Exit Function
Else
t = t & c
End If
Next
show = t
end Function
number123456 2009-08-10
  • 打赏
  • 举报
回复

'**************************************************
'函数名:substr
'作 用:截字符串,汉字一个算两个字符,英文算一个字符
'参 数:str ----原字符串
' strlen ----截取长度
'返回值:截取后的字符串
'**************************************************
Function substr(ByVal str, ByVal strlen)
If str = "" or isnull(str) Then
substr = ""
Exit Function
End If
Dim l, t, c, i, strTemp
str = Replace(Replace(Replace(Replace(str, " ", " "), """, Chr(34)), ">", ">"), "<", "<")
l = Len(str)
t = 0
strTemp = str
strlen = CLng(strlen)
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
strTemp = Left(str, i)
Exit For
End If
Next
If strTemp <> str Then
strTemp = strTemp & "…"
End If
substr = Replace(Replace(Replace(Replace(strTemp, " ", " "), Chr(34), """), ">", ">"), "<", "<")
End Function

28,409

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧