|
函數(shù):strLeft(str,num) 用途:取指定字符串左邊數(shù)num個(gè)字符,中文作為2個(gè)字符出現(xiàn)。 說(shuō)明:如最后一個(gè)漢字取則多,不取則少,則不取,即實(shí)際取字符數(shù)為num-1個(gè)。 如字符串第一個(gè)字符為中文,且num=1,則返回空字符串。 環(huán)境:在Win 2K Server + IIS5.0上運(yùn)行通過(guò),@LANGUAGE=VBSCRIPT
'--------------------*****START*****--------------------
FUNCTION strLeft(str,num)
DIM p_str,p_num p_str = "" p_num = 0'定義變量,標(biāo)記中文為2字節(jié)時(shí)的實(shí)際字符數(shù)
IF TRIM(str)<>"" THEN
FOR i = 1 TO num
IF asc(mid(str,i,1))>255 OR ASC(mid(str,i,1))<0 THEN'判斷下一個(gè)欲取的字符所占字節(jié)數(shù) 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,則產(chǎn)生與“說(shuō)明”中相反的情況。
END IF
strLeft=p_str
END FUNCTION
'--------------------******END******--------------------
實(shí)例:
<% 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))<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)
END IF
strLeft=p_str
END FUNCTION
aaa = "中華aaaaa人民共和國(guó)"
bbb=strLeft(aaa,n) %> <%=bbb%>
n值為3時(shí),結(jié)果為"中"; n值為7時(shí),結(jié)果為"中華aaa"; n值為11時(shí),結(jié)果為"中華aaaaa人"; n值為14時(shí),結(jié)果為"中華aaaaa人民".
|