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)+"
");
出處->
沒有留言:
張貼留言