<p><textarea rows="11" name="S1" cols="51"></textarea></p>
<p><input type="button" value="按钮" onclick=ttt()></p>
<script>
function ttt(){
txt=brkLine(S1.value,20)
pr.innerHTML=txt;
}
function brkLine(txt,charlen){
s=""
l=0;
p=0;
for (i=0;i<txt.length;i++){
a=txt.charAt(i);
s+=a;
if (p!=0){
if (a==">") p=0;
}
else
{ if (a!="<"){
if (!/^[\x00-\xff]/.test(a)) l++;
l++;
if (l>=charlen){
s+="<br>";
l=0;
}
}
else
if (txt.substr(i,4).toLowerCase()=="<br>"){
s+="br>";
i+=4;
l=0;
}else p=1;
}
}
return s;
}
</script>
<table border="1" width="30%" height="107">
<tr>
<td width="100%" height="101" valign="top" id=pr>每行20个字符</td>
</tr>
</table>
<Script language="Javascript" Runat="Server">
/*
=======================================================================================
本程序段的功能:给定一个字符串,不管是英文还是中文,还是中英文混合的,只取前面的8个英文字母占位的宽度。
关于该程序的说明:当最后一个字为中文,并且前面已经取得7位时,就不应该再取这个字了。再
最后位置补空格; 否则的话,总共就会占9个英文字符的位置了。
本程序由net_lover(孟子E章)编写,您可以任意使用本程序,但要保持本注释。
有任何疑问请Email至: [email protected]
欢迎访问:
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) + " ");
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>"
%>
s="谦ss逊在要sfkjsjf"
alert(cutstr(s,7));
function cutstr(string,len){
var i,k;
k=0;
i=0;
while ( i<len && i< string.replace(/[^\x00-\xff]/g,"xx").length){
if(string.charCodeAt(k)>255) i++;
i++;
k++;
}
return string.substr(0,k);
}
</script>
alert(getLen("秋12水无3恨4",5))
function getLen(str,len){
var k=1;
for(i=0;i<str.length;i++,k++){if(str.charCodeAt(i)>255)k++;if(k>len)break};
return str.substr(0,i);
}
</script>