得到固定字符位置的函数
<Script language="Javascript" Runat="Server">
/*
=======================================================================================
本程序段的功能:
给定一个字符串,不管是英文还是中文,还是中英文混合的,只取前面的8个英文字母占位的宽度。
关于该程序的说明:当最后一个字为中文,并且前面已经取得7位时,就不应该再取这个字了。再
最后位置补空格; 否则的话,总共就会占9个英文字符的位置了。
本程序由net_lover(孟子E章)编写,您可以任意使用本程序,但要保持本注释。
有任何疑问请Email至: amxh@21cn.com
欢迎访问:
=======================================================================================
*/
function get8Length(str)
{
var tmp = 0;
var len = 0;
var okLen = 0
for(var i=0;i<8;i++)
{
if(str.charCodeAt(i)>255)
tmp += 2
else
len += 1
okLen += 1
if(tmp + len == 8)
{
return (str.substring(0,okLen));
break;
}
if(tmp + len > 8)
{
return (str.substring(0,okLen - 1) + " ");
break;
}
}
}
</Script>
<%
Dim strTest
strTest = "我是孟子E章啊!!"
Response.write get8Length(strTest) & "……<br>"
strTest = "我是net_lover!!"
Response.write get8Length(strTest) & "……<br>"
strTest = "I我a是m孟子E章啊!!"
Response.write get8Length(strTest) & "……<br>"
%>