在我们遇到定长的DIV时,字符串太长会换行,样式会很丑,但是直接截取定长的字符串会有很大问题,比如数字占1个位置,汉字会占2个位置,这里提供了一种方法解决这种问题,如下:
function splitStrSup(str,len){
var jmz = {};
var strTemp="";
jmz.GetLength = function(str) {
///<summary>获得字符串实际长度,中文2,英文1</summary>
///<param name="str">要获得长度的字符串</param>
var realLength = 0, len = str.length, charCode = -1;
for (var i = 0; i < len; i++) {
charCode = str.charCodeAt(i);
if (charCode >= 0 && charCode <= 128)
realLength += 1;
else
realLength += 2;
if(realLength>(len*2)){
strTemp=str.substr(0,i);
break;
}
}
};
jmz.GetLength(str);
if(strTemp!=""){
return strTemp;
}else{
return str;
}
}