`
happyqing
  • 浏览: 3193595 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

JS按字节计算字符串长度,按字节截取字符串

    博客分类:
  • js
阅读更多

 

/**
 * 按字节计算字符串长度
 * @param bytes 字节数
 * @returns
 */
String.prototype.byteLength = function(){
	var len = 0;
	for ( var i = 0; i < this.length; i++) {
		//UTF8编码一个中文按3个字节算(GBK编码一个中文按2个字节)
		len += (this.charCodeAt(i) > 255 ? 3 : 1);
		//len += str.replace(/[^\x00-\xff]/g, 'xxx').length;
	}
	return len;
};

/**
 * 按字节截取字符串
 * @param bytes 字节数
 * @returns
 */
String.prototype.subStringByBytes = function(bytes){
	var len = 0;
	for ( var i = 0; i < this.length; i++) {
		//UTF8编码一个中文按3个字节算(GBK编码一个中文按2个字节)
		len += (this.charCodeAt(i) > 255 ? 3 : 1);
		if (len > bytes) {
			return this.substring(0, i);
		}
	}
	return str;
};

alert("中文a".byteLength()); //7
alert("中文a".subStringByBytes(4)); //中

 

java 按字节计算字符串的长度,按字节截取字符串
http://happyqing.iteye.com/blog/1972237

 

分享到:
评论

相关推荐

    JS按字节截取字符长度实例

    在JavaScript中,处理字符串长度有时会遇到特殊的情况,特别是涉及到中英文混合的字符串。中文字符占用的字节数是英文字符的两倍,这在计算显示长度时需要特别注意。本实例提供了一种方法,用于根据字节长度来截取...

    标题过长使用javascript按字节截取字符串

    var str = "javascript高效按字节截取字符串方法getBlengthjavascript高效按字节截取字符串方法getBlength"; str = str.replace(/./g,str).replace(/./g,str); console.log("创造的字符串长度为:", str.length); ``...

    JavaScript截取中文字符串

    4. **添加省略号**:如果`hasDot`参数为真且原始字符串长度大于指定长度,则在截取后的字符串末尾添加省略号。 #### 四、代码详解 ```javascript function subString(str, len, hasDot) { var newLength = 0; ...

    JS判断字符串字节数并截取长度的方法

    总结上述内容,我们了解到在处理字符串长度时,特别是涉及多字节字符时,直接以字符长度作为限制条件可能会出现错误。正确的方法是首先将输入的字符串按照编码规则进行转换,计算出实际字节数,然后进行比较和截取...

    Js自动截取字符串长度,添加省略号(……)的实现方法

    为了解决这个问题,可以使用更复杂的方法,如计算字符串的实际字节数,或者使用正则表达式匹配多字节字符。 总之,JavaScript中的字符串截取和处理是一项常见的任务,通过`cutString`函数,我们可以有效地控制字符...

    字符长度计算和长度截取显示

    在 JavaScript 中,计算字符串的字节长度是一个常见的需求,尤其是在处理包含非 ASCII 字符(如中文、日文等)的字符串时尤为重要。这段代码提供了一个函数 `getCharLength` 用于计算一个字符串的实际字节数。 ####...

    字符串截取

    本篇主要介绍了一种根据指定字节数来截取字符串的方法,并考虑到了不同的编码方式对字符串长度的影响。此外,还涉及了一些关于如何使用 jQuery 操作 select 元素的示例代码。 #### 二、关键概念 - **字符串截取**:...

    JS版获取字符串真实长度和取固定长度的字符串函数

    同样的,当需要取固定长度的字符串时,如果不对双字节字符进行特殊处理,就可能在截取字符串时导致字符被不完整地截取,特别是当字符串长度不是按照双字节字符整齐划分时。例如,如果需要截取长度为2的字符串,按照...

    javascript截取字符串(通过substring实现并支持中英文混合)

    本文将探讨在JavaScript中如何使用substring()和substr()方法截取字符串,并特别针对中英文混合的字符串提供解决方案。字符串截取是编程中的一项基础操作,它允许我们从一个给定的字符串中提取特定部分的字符序列。 ...

    JS字符串长度判断,超出进行自动截取的实例(支持中文)

    1. 字符串长度计算:在JavaScript中,一个中文字符通常由三个字节组成,而英文字符只有一个字节。因此,需要一个函数来计算字符串的实际长度。这里的GetLength函数就扮演了这个角色,它通过遍历字符串中的每一个字符...

    js限制textarea每行输入字符串长度的代码.docx

    在JavaScript中,对`textarea`元素进行输入字符串长度限制是一个常见的需求,特别是在处理用户输入时,需要确保数据格式的正确性。在HTML中,`textarea`控件不像`input[type="text"]`那样可以直接通过`maxlength`...

    js中根据字数截取字符串,不能截断url.docx

    2. **截取字符串至指定字节数**:如果字符串长度超过指定字节数,则进行截取。 3. **截取字符串时保证 URL 的完整性**:在截取过程中检查是否包含 URL,并确保 URL 的完整性。 #### 实现细节 ##### 方法一:计算...

    js截取固定长度的中英文字符的简单实例

    1. **计算字符串的实际长度**:通过遍历字符串的每个字符,使用`charAt()`方法获取单个字符,并利用`escape()`函数将字符编码。如果编码后的长度大于4,那么这个字符是中文字符,需要计算两个字节。这样可以准确地...

    中文字符串截取的js函数代码

    有了这些辅助函数,我们就可以实现按字节截取字符串的两个主要函数:`subCHString`和`subCHStr`。`subCHString`接受起始字节和结束字节,而`subCHStr`接受起始字节和要截取的字节数。 `subCHString`函数首先调用`...

    js字符限制(字符截取) 一个中文汉字算两个字符

    - 对于包含中文字符的字符串长度限制,可以使用上述的JavaScript函数`getByteVal`来实现。 - jQuery可以简化事件绑定和字符串处理的过程,但需要注意引入相应的jQuery库。 - 正则表达式是处理字符串匹配问题的有力...

    用javascript实现截取字符串包含中文处理的函数

    在JavaScript中处理字符串时,经常会遇到需要截取字符串的情况。对于包含中文字符的字符串,由于中文字符通常占两个字节,因此简单的基于字符索引的截取方法可能无法正确处理中文。本篇文章将详细介绍如何使用...

    js截取中英文字符串、标点符号无乱码示例解读

    `strLength`是处理过的字符串长度,这里通过将原始字符串`str`中所有非ASCII字符替换为两个星号`**`来计算长度,这样做的目的是为了在计数时将一个中文字符当作两个字符来处理,因为一个中文字符通常占用两个字节,...

Global site tag (gtag.js) - Google Analytics