注册 登录
编程论坛 ASP技术论坛

限制字符数.

chenjunyong 发布于 2008-09-01 22:23, 1467 次点击
<%=(Rec_new.Fields.Item("Co_title").Value)%>
我就要截Co_title中的前15位/..
最好把代码写清楚点...
我是用DW做的.....
15 回复
#2
zc19192008-09-01 22:47
给你个参考~~~照下面的做应该没有问题~~我也是一直都用这个的。
<%
'#####截取字符长度《一》
'#####str为要截取字符串
'##### n为需要截取的长度
Function LeftTrue(str,n)
  If Len(str) <= (n/2) Then
   LeftTrue = str
  Else
   Dim TStr, l, t, c
   l = Len(str) : TStr="" : t=0
   For i = 1 To l
    c = Asc(Mid(str,i,1))
    If c < 0 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
%>
#3
chenjunyong2008-09-01 22:57
我好想说滚~~
#4
J_j2008-09-01 23:30
基本上没素质~~
#5
yms1232008-09-01 23:50
<%=Mid(Rec_new.Fields.Item("Co_title").Value,0,15)%>
楼主如果真想学ASP最好手写代码不要用DW来生成,那个软件个人认为生成的代码很不可靠,并且废代码不少。
#6
awke0022008-09-02 08:17
呵呵!楼主好玩。。。
#7
hmhz2008-09-02 11:19
Rec_new.Fields.Item("Co_title").Value
什么跟什么啊,什么年代了
#8
chenjunyong2008-09-02 11:20
呵呵..我只要实用的东西..
还有..很感谢版主..你的话我也想过..我也看过别人手写的代码..但我还没达到这样的实力..简单的还行..
#9
chenjunyong2008-09-04 19:18
问题解决了.按5楼版主的方法.但不能全按..要把那个0改成1.
#10
multiple19022008-09-04 19:42
不能忍受没素质的人。另外,用DW写代码听起来不太好。

5楼的代码确实错了,mid的第二个参数是从1开始数的位置。

深入思考一下,还有哪个函数能达到同样的功能?
#11
yms1232008-09-04 20:32
个人所知ASP里一般取字符串是使用Mid函数,或者使用类似于Mid的Left或Right
#12
multiple19022008-09-04 21:47
呵呵 取前面多少多少我还没见过上来就用Mid的……都是left
我猜left的执行效率会高一些
#13
hmhz2008-09-05 09:40
如果只截取前几位,当然使用left
如果只截取后几位,当然使用right
如果只截取中间几位,当然使用mid

截取前3位:ABC
<%
dd="ABCDEFGH"
response.write left(dd,3) '从第1位向后数到第3位
%>

截取后3位,得到 FGH
<%
dd="ABCDEFGH"
response.write right(dd,3) '从最后1位向前数到第3位
%>

截取中间3位,得到 DEF
<%
dd="ABCDEFGH"
response.write mid(dd,4,3) '从第4位开始向后数到第3位
%>
#14
yangzeng2008-09-05 22:04
好像我顶部的这个群主在哪里发过这个内容的帖子,还为精华帖
支持
#15
yangzeng2008-09-05 22:05
版主,不是群主
#16
nicechlk2008-09-07 22:24
[bo][un]hmhz[/un] 在 2008-9-5 09:40 的发言:[/bo]

如果只截取前几位,当然使用left
如果只截取后几位,当然使用right
如果只截取中间几位,当然使用mid

截取前3位:ABC
 

哈哈,太好了,我正一直找这个呢!!!
这对于时间和日期就太管用了!!!!
如:
date=2008-09-07
date=mid(date,3,8)
结果就是:08-09-07
date=mid(date,6,5)
结果就是:09-07
十分感谢!!!
1