asp测字符串长度及截取定长字符串汉字的处理

来源:asp之家 时间:2007-10-12 13:14:00 

asp编程中我们经常要处理字符串,比如一个新闻列表,在我们编写asp程序的时候就要考虑到新闻标题的长度不确定性,因为有的文章标题可能很长,可能20或30个字符;而有的标题可能又很短。还有的新闻标题是英文字母或数字,有的都是汉字,或者英文字母和汉字混合。可问题是英文字母或数字的长度和汉字的长度不一致,一个汉字相当于2个字母的长度。这样如果我们对标题不加限制的话,很可能影响到网页的布局,这样页面美观性就差了,当然如果美工考虑周到的话使用CSS可以很方便的处理这个问题。

现在我们讲的是asp程序上如何处理这个问题,我们知道asp中的left函数可以截取一个字符串的左边算起的第几个字符,如一个字符串是:asp之家,请看下面的代码:


str="asp之家"
str=left(str,5)
response.write str


如果运行上面的asp代码则屏幕上显示的是:中国asp

这里left后面的数字为5就截取了5个字符,一个汉字算一个字符。当某字符串都是字母时很显然截取的长度与都是汉字截取的长度差很多。为了解决这个问题,我们就需要来处理汉字,当遇到的字符是汉字的时候,就算两个长度单位。这样就很好的解决了显示长度不同的问题了.

1.测字符串长度, 汉字算两个长度单位

'代码作者不详
Function CheckStringLength(txt)
txt=trim(txt)
x = len(txt)
y = 0
for ii = 1 to x
if asc(mid(txt,ii,1)) < 0 or asc(mid(txt,ii,1)) >255 then ’如果是汉字
y = y + 2
else
y = y + 1
end if
next
CheckStringLength = y
End Function

运行下面的代码:


response.write CheckStringLength("asp之家")


屏幕将显示:11

2.截取指定长度的字符串(包括汉字)

'代码作者不详
function InterceptString(txt,length)
txt=trim(txt)
x = len(txt)
y = 0
if x >= 1 then
for ii = 1 to x
if asc(mid(txt,ii,1)) < 0 or asc(mid(txt,ii,1)) >255 then ’如果是汉字
y = y + 2
else
y = y + 1
end if
if y >= length then 
txt = left(trim(txt),ii) ’字符串限长
exit for 
end if
next
InterceptString = txt
else
InterceptString = ""
end if
End Function 


运行下面的代码:


response.write InterceptString("asp之家",5)


屏幕将显示:中国a

 

标签:字符串,长度,检测
0
投稿

猜你喜欢

  • numpy系列之数组重塑的实现

    2022-10-20 13:36:35
  • Python操作mysql数据库实现增删查改功能的方法

    2024-01-19 13:02:18
  • MySQL5.7中的sql_mode默认值带来的坑及解决方法

    2024-01-25 08:34:29
  • python中pickle模块浅析

    2022-02-06 06:27:38
  • Flask缓存静态文件的具体方法

    2023-04-12 18:27:43
  • PHP PDOStatement::errorCode讲解

    2023-06-11 12:40:23
  • 借助JavaScript脚本判断浏览器Flash Player信息的方法

    2024-04-17 09:50:18
  • python 实现图片裁剪小工具

    2022-04-27 18:15:15
  • python实现简易的学生信息管理系统

    2021-08-24 12:07:09
  • python内置堆的具体实现

    2022-12-18 08:39:43
  • python文件拆分与重组实例

    2021-10-10 18:10:25
  • 全面解析Python的While循环语句的使用方法

    2023-12-21 04:41:11
  • ajax完美实现两个网页 分页功能的实例代码

    2023-11-14 12:57:27
  • Javascript 实现的数独解题算法网页实例

    2024-02-26 15:26:16
  • PHP+Ajax简单get验证操作示例

    2024-05-13 09:24:27
  • 十个Golang开发中应该避免的错误总结

    2024-04-25 15:05:14
  • python 使用OpenCV进行曝光融合

    2022-03-13 05:23:37
  • python 如何获取文件夹中的全部文件

    2022-09-10 16:48:11
  • SQLServer 数据导入导出的几种方法小结

    2024-01-25 02:13:05
  • 教你如何在SQL Server计算机列和平均值

    2009-01-20 15:10:00
  • asp之家 网络编程 m.aspxhome.com