函數: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))<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******--------------------
實例:
<% 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人民共和國"
bbb=strLeft(aaa,n) %> <%=bbb%>
n值為3時,結果為"中"; n值為7時,結果為"中華aaa"; n值為11時,結果為"中華aaaaa人"; n值為14時,結果為"中華aaaaa人民".
|