javascript 计算中英混合字符串长度及截取函数

产品的BT需求:当输入框限制最多可输入10个字时,达到的效果为输入框可输入5个汉字加10个字母,中文按1个字计算,英文按0.5个字计算,并且超出长度要自动截断。

String.prototype.mb_len = function(){
	var len = 0;
	for(var i=0;i<this.length;i++){
 		len = len+(this.charCodeAt(i)>255?1:0.5);
	}
	return len;
};
String.prototype.mb_sub = function(start, length){
	var str = "";
	for(var i=start;i<this.length;i++){
 		length = length-(this.charCodeAt(i)>255?1:0.5);
		if(length<0)break;
		str = str+this[i];
	}
	return str;
};

发表评论

电子邮件地址不会被公开。 必填项已用*标注