繁体中文
设为首页
加入收藏
当前位置:ASP技术首页 >> ASP基础 >> 看到有人问如何取中文为2的指定字符串字节数,研究一下:

看到有人问如何取中文为2的指定字符串字节数,研究一下:

2006-05-15 08:00:00  作者:  来源:互联网  浏览次数:0  文字大小:【】【】【
简介:函数:strLeft(str,num) 用途:取指定字符串左边数num个字符,中文作为2个字符出现。 说明:如最后一个汉字取则多,不取则少,则不取,即实际取字符数为num-1个。 如字符串第一个字符为中文,且num=1,则返回空...

函数:strLeft(str,num)

用途:取指定字符串左边数num个字符,中文作为2个字符出现。

说明:如最后一个汉字取则多,不取则少,则不取,即实际取字符数为num-1个。

如字符串第一个字符为中文,且num=1,则返回空字符串。

环境:在Win 2K Server + IIS5.0上运行通过,@LANGUAGE=VBSCRIPT

'--------------------*****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)) num THEN EXIT FOR

NEXT

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

END IF

strLeft=p_str

END FUNCTION

'--------------------******END******--------------------

实例:

<%

FUNCTION strLeft(str,num)

DIM p_str,p_num

p_str = ""

p_num = 0

IF TRIM(str)"" THEN

FOR i = 1 TO num

IF asc(mid(str,i,1))>255 OR ASC(mid(str,i,1)) num THEN EXIT FOR

NEXT

p_str = Left(str,i-1)

END IF

strLeft=p_str

END FUNCTION

aaa = "中华aaaaa人民共和国"

bbb=strLeft(aaa,n)

%>

n值为3时,结果为"中";

n值为7时,结果为"中华aaa";

n值为11时,结果为"中华aaaaa人";

n值为14时,结果为"中华aaaaa人民".

责任编辑:admin
相关文章