浏览器大全:是一个提供流行浏览器教程、在线学习分享的学习平台!

谈谈我对截取一定长度字符串的一些心得,欢迎指正

vbs和js都提供了截取一定长度的字符串的函数,但有一个问题是这些函数都将中文字符视为1个字节,而不是正常的2个字节,如果这些输入的数据要提交到数据库中的话,很可能这些数据的真正长度回答与数据库中该字段所允许的最大长度,于是就出错了。
最开始我不会这样做,看了 cheery_ke 兄发表的帖子
http://www.dev-club.com/club/bbs/showAnnounce.asp?id=1227955
后才知道该怎么做。具体程序是
'--------------------*****START*****--------------------

FUNCTION strLeft(str,num)

DIM p_str,p_num
p_str = ""
p_num = 0'定义变量,标记中文为2字节时的实际字符数

IF TRIM(str)<>"" THEN

FOR i = 1 TO num

IF asc(mid(str,i,1))>255 OR ASC(mid(str,i,1))<0 THEN'判断下一个欲取的字符所占字节数
p_num = p_num + 2
Else
p_num = p_num + 1
End IF

IF p_num > num THEN EXIT FOR 

NEXT

p_str = Left(str,i-1) '把i-1替换为i,则产生与“说明”中相反的情况。

END IF

strLeft=p_str

END FUNCTION

'--------------------******END******--------------------
可是在实际使用中发现cheery_ke兄提供的程序有些问题:如果提交的字符串字数少于所允许的最大字数则程序汇报错,原因是 FOR循环处的循环次数大于字符串的实际长度,导致下一句中mid函数的参数 i大于字符串的长度,出现错误。
 我针对这个程序作了如下改进:
function strLeft(str,num)
dim p_str,p_num
p_str = ""
p_num = 0

if trim(str) <> "" then
p_len = len(str)
for i = 1 to p_len
if asc(mid(str,i,1)) > 255 or asc(mid(str,i,1)) < 0 then
p_num = p_num + 2
else
p_num = p_num + 1
end if

if p_num > num then
p_str = Left(str,i-1)
exit for
else
p_str = str
end if
next
end if

strLeft=p_str
end function
这样就不会出现那个问题了。

后记:我写这篇文章不是为了通过指出他人的漏洞来抬高自己,我只是个学习asp没多久的freshman,而且在这个论坛也得到过cheery_ke兄的帮助,我是很感激和敬佩他的。指出这个问题是为了一些像我这样的菜鸟在遇到这个问题的时候能少绕些弯路,而且自己在这个论坛学了这个多东西却一直无以回报,深感歉疚,于是写下自己的一点心得算做自己的一番心意,至于是否贻笑大方就不得而知了。

相关软件

2345加速浏览器官方版

2345加速浏览器官方版 | 56.2MB

2345加速浏览器官方版

新一代2345加速浏览器采用Chromium和IE双内核,主打极速与安全特性。基于Chromium深度定制,引入网页智能预加载技术,访问网页更快速..

QQ浏览器官方正式版

QQ浏览器官方正式版 | 49.67MB

QQ浏览器官方正式版

QQ浏览器秉承TT浏览器1-4系列方便易用的特点,但技术架构不同,交互和视觉表现也重新设计,采用Chromium内核+IE双内核,让浏览快速稳定...

百度浏览器最新版下载

百度浏览器最新版下载 | 13.3MB

百度浏览器最新版下载

q百度浏览器,是一款简洁轻快、智能懂你的浏览器。依靠百度强大的搜索平台,在满足用户浏览网页的基础上,它整合百度体系业务优势,带给用户更方便的浏览方式功能...

UC浏览器官方正式版

UC浏览器官方正式版 | 44.2MB

UC浏览器官方正式版

UC浏览器(UC Browser)是UC Mobile Limited在2004年8月开发的一款软件,分uc手机浏览器和uc浏览器电脑版。UC浏览器是全球使用量最大的第三方手机浏览器...

猎豹浏览器2022最新版下载

猎豹浏览器2022下载 | 45MB

猎豹浏览器2022最新版下载

猎豹安全浏览器对Chrome的Webkit内核进行了超过100项的技术优化,访问网页速度更快。其具有首创的智能切换引擎,动态选择内核匹配不同网页...

360安全浏览器官方版下载

360安全浏览器下载 | 21.4MB

360安全浏览器官方版下载

360安全浏览器拥有全国最大的恶意网址库,采用恶意网址拦截技术,可自动拦截挂马、欺诈、网银仿冒等恶意网址。独创沙箱技术,在隔离模式即使访问****也不会感染...