js含中英文数字以及含中文字符截取的问题

该博客讨论了如何在JavaScript中计算并截取包含中英文数字及中文字符的字符串。通过GetLength函数计算字符串的实际长度,考虑到中文字符占两个字节,然后使用cutstr函数进行截取,确保截取出的字符串不破坏原有的语义完整性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

		  //汉英截取
		 GetLength: function (str){          //计算长度
		        for (var i = 0; i < str.length; i++) {  
		        charCode = str.charCodeAt(i);  
		        if (charCode >= 0 && charCode <= 128)   
		        this.realLength += 1;  
		        else   
		        this.realLength += 2;  
		        }
		   },
		  cutstr: function (str, len,status) {
		        var str_length = 0;
		        var str_len = 0;
		        str_cut = new String();
		        str_len = str.length;
		        for (var i = 0; i < str_len; i++) {
		            a = str.charAt(i);
		            str_length++;
		            if (escape(a).length > 4) {
		                //中文字符的长度经编码之后大于4  
		                str_length++;
		            }
		            str_cut = str_cut.concat(a);
		            if (str_length >= len) {
		                str_cut = str_cut.concat("...");  
		                if(status == "1"){
		                	this.BASIC_TITLE = str_cut;
		                }else if(status == "2"){
		                	this.BASIC_DESCRIPTION= str_cut;
		                }
		                return str_cut;
		            }else{
		            	if(status == "1"){
		                	this.BASIC_TITLE = str;
		                }else if(status == "2"){
		                	this.BASIC_DESCRIPTION= str;
		                }
		            }
		        }
		    },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值