2008年6月17日 星期二

javascript 正確截取單字節和雙字節混和字符串的方法

/*************************************************************

Author : Yanfu Xie

Url : http://www.yitu.org


Description : 正確截取單字節和雙字節混和字符串

String str : 要截取的字符串

Number : 截取長度

*************************************************************/

function substr(str, len)

{

if(!str || !len) { return ''; }



//預期計數:中文2字節,英文1字節

var a = 0;



//循環計數

var i = 0;



//臨時字串

var temp = '';



for (i=0;i
{

if (str.charCodeAt(i)>255)

{

//按照預期計數增加2

a+=2;

}

else

{

a++;

}

//如果增加計數後長度大於限定長度,就直接返回臨時字符串

if(a > len) { return temp; }



//將當前內容加到臨時字符串

temp += str.charAt(i);

}

//如果全部是單字節字符,就直接返回源字符串

return str;

}



var str = "呵呵he哈哈嘿嘿and";



document.write("字符串:"+str+"

");

document.write("javascript 默認截取10個字節的返回值:
");

document.write(""+str.substr(0, 10)+"

");

document.write("用本文介紹的方法截取10個字節的返回值:
");

document.write(""+substr(str, 10)+"

");

document.write("截取9個字節的返回值:
");

document.write(""+substr(str, 9)+"

");

出處->

【下列文章您可能也有興趣】

沒有留言: