ASP判断字符串长度的问题

<%if len(NoticeList.Fields.Item("NoticeTitle").Value)>13
then
response.Write left(NoticeList.Fields.Item("NoticeTitle").Value,13)&"..."
else
response.Write NoticeList.Fields.Item("NoticeTitle").Value
end if %>
说明:NoticeList为记录集名称
NoticeTitle对应的标题内容
目前使用的这个代码出现了以下问题:
1、无法正确判断字符串的长度,数字、英文、汉字都被判断成一个单位字符,也就是说判断下来都是13个数字、13个字母或者13个汉字
2、实际输出页面上显示的,只有三个逗点而已,数据库有3条记录,重复区域后也就是三行逗点,说明数据已经获取成功了,但是没法正确判断和显示出来,请高人指教。
在线等……
输出 NoticeList.Fields.Item("NoticeTitle").Value结果正常!

<%
'======================================
'取左边N个字符,1个中文=2个英文=2个字符
'参数:字符串,左边位数,超出部分截断的替换字符串(如:...)
'======================================
function getleftstr(str,n,nexttext)
if isnull(str)=false and str<>"" then
dim f_str,f_i,f_k,f_a
f_k=0
for f_i=1 to len(str)
f_a=mid(str,f_i,1)
dim re : set re=New RegExp '建立正则表达式
re.Pattern="[^\x00-\xff]" '设置模式,即建立正则式规则
re.Global=False '设置全局可用性
re.Ignorecase=True '设置是否区分字符大小写
re.MultiLine=False '设置多行标记可用性
f_k=f_k+len(re.replace(f_a,"$2")) '执行搜索测试
if f_k<=n then
f_str=f_str & f_a
else
f_str=f_str & nexttext
exit for
end if
next
getleftstr=f_str
end if
end function
%>

以上是我自己编写并一直用的自定义函数
至于你另一个问题,你直接输出:NoticeList.Fields.Item("NoticeTitle").Value
看这个有没有值,如果有值的话,应该是没有问题的语句
温馨提示:内容为网友见解,仅供参考
第1个回答  2009-07-07
你直接 输出 NoticeList.Fields.Item("NoticeTitle").Value

看下是什么内容,是否正常?

ASP判断字符串长度的问题
'参数:字符串,左边位数,超出部分截断的替换字符串(如:...)'=== function getleftstr(str,n,nexttext)if isnull(str)=false and str<>"" then dim f_str,f_i,f_k,f_a f_k=0 for f_i=1 to len(str)f_a=mid(str,f_i,1)dim re : set re=New RegExp '建立正则表达式 re...

ASP判断字符串长度,急!
trim函数是去掉字符串两边的空格,你这样表达当然不会有效果了。你要表达什么效果撒??是否你要将标题缩短显示?如“我是一个标题,非常非常非常长的”显示为“我是一个标题...”是吗??if len(rs("title"))>10 then response.write left(rs("title"),10)&"..." '如果超过10 字符则缩短...

asp截取字符串长度问题
如:name字段中有两个值 一个值:小老虎 别一个值: *** alltiger 我想只读取前4个字节,也就是说结果是这样的:小老虎中只要 "小老"而 *** alltiger中只要 *** al,这样的功能怎么实现啊。我用了下面这个函数,但是当这个值是非字符会报错:Microsoft VBScript 运行时错误 错误 '800a001c'...

ASP一个关于取字符串长度的问题
来代替CutStr函数,从来不出错,呵 CutStr函数参数说明:str,待截取的原字符串;gtype,截取方向,1为左,0为右;lennum为截取长度 当str的长度不超过lennum时,不执行截取,如超过,则截取,并在输出的字符串尾加上"..."Public Function CutStr(Str, Gtype, LenNum)Dim P_Num Dim i, X If StrLen...

asp判断字符串长度?
if len(request.Form("content"))>cint(request.Form("length")) then

我的ASP截取字符串长度程序出现了问题,求助!
是你的htmlunencode函数的参数有问题 比如说rs("title")是数值类型的 但你定义的时候htmlunencode函数的参数是字符串类型的

ASP判断字符串长度,急!
替换成 < if len(Recordset1.Fields.Item("title").Value)>10 then response.write left(Recordset1.Fields.Item("title").Value,10)&"..." '如果超过10 字符则缩短标题并以...结尾 else response.write Recordset1.Fields.Item("title").Value '小于10个字符就输出原标题 end if > ...

asp问题:提示"未结束的字符串常量"
在 chr(34) 前, 有连续三个引号, 你应该是要把引号替换成chr(34)的.双引号, 在字符串里, 是用连续两个双引号来表示的.""", 表示含有一个双引号"的字符串.所以chr(34)前应该是连续四个双引号.

asp截取字符串长度问题,在取出数据库文本显示时不显示回车或者换行等...
显示的时候,回车、<TAB>等都会被当着空格对待,而且多个连续的空格只显示一个空格。如果要原样显示,你可以增加个PRE代码,例如:Response.write ""&ClearHTML(Rs("text"))&""

asp 判断字符串长度
x = len(str)y = 0 for i = 1 to x if asc(mid(str,i,1))<0 or asc(mid(str,i,1))>255 then y = y + 2 else y = y + 1 end if next getStrLen = y End Function > 以上就是判断字符段的函数 用的时候这样用好了 if getStrLen(要判断的字符串)>4 then 参考资料:h...

相似回答
大家正在搜