得到固定字符位置的函数

来源:互联网 发布:js闭包的理解 阮一峰 编辑:程序博客网 时间:2024/05/17 01:10

得到固定字符位置函数

<Script language="Javascript" Runat="Server">
/*
=======================================================================================
 本程序段的功能:
 
 给定一个字符串,不管是英文还是中文,还是中英文混合的,只取前面的8个英文字母占位的宽度。
 关于该程序的说明:当最后一个字为中文,并且前面已经取得7位时,就不应该再取这个字了。再
 最后位置补空格; 否则的话,总共就会占9个英文字符的位置了。
 本程序由net_lover(孟子E章)编写,您可以任意使用本程序,但要保持本注释。
 有任何疑问请Email至: amxh@21cn.com
 欢迎访问:
 http://lucky.myrice.com
 http://colorweb.go.163.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) + "&nbsp;"); 
   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>"
%>

原创粉丝点击