识别特殊字符输出定长字符串

在我们遇到定长的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;
	}
}
发布了52 篇原创文章 · 获赞 2 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/liz9411/article/details/86537320
今日推荐