转自:http://sunxboy.iteye.com/blog/131684
关键字: javascript/截取
摘要:我们在用程序处理文本的过程中,经常碰到中英文
字符串的问题,比如说我们要得到文本编辑器中一段中英文
混合文字的长度
从而进行数据验证,有的时候我们为了实现某些特殊的效果需要对文字进行截取,这时候我们就用到了中英文
混合文字的截取问题
我们分两步来看一下这个问题
js
中英文
字符串长度
因为一个中文字符=两个英文字符的长度
,所以我们采用一个办法将一个汉字字符转化为两个字节的英文字符 实现代码如下
js
代码
- <script>
- String.prototype.len=
function
()
- {
- return
this
.replace(/[^\x00-\xff]/g,
"rr"
).length;
- }
- var
str=
"bdkey的字符串"
;
- alert(str.len());
- </script>
x00-\xff 代表非汉字编码
一个汉字代表两个字节,所以那样了,不过应该是
return this.replace(/[^\0xa1-\0xff]/g,"**").length;
运行示例程序会弹出一个对话框显示13
既然有了长度
的判断 那么我们再来看一下中英文
字符串截取的问题:
看下面一段程序:
js
代码
- String.prototype.sub =
function
(n) {
- var
r = /[^\x00-\xff]/g;
- if
(
this
.replace(r,
"mm"
).length <= n)
return
this
;
-
- var
m = Math.floor(n/2);
- for
(
var
i=m; i<
this
.length; i++) {
- if
(
this
.substr(0, i).replace(r,
"mm"
).length>=n) {
- return
this
.substr(0, i) +
"..."
; }
- }
return
this
;
- };
用法: var a = "gdfghrtfhrjtyjtukyukyk";a.sub(10);
上面的程序不难理解 这里不作解释了
分享到:
相关推荐
本文将详细介绍一个专门用于处理中文字符串截取的JavaScript函数,该函数能够根据字符的实际编码长度来精确控制截取的长度。 #### 二、关键概念解析 ##### 2.1 字符串截取 字符串截取是指从一个较长的字符串中...
//不分中英文按字符串长度循环每个字符截取换行 这个是隔10个字符换行一次 String psStr="asdfghjklzxcvbnmzxcvbnmsdfghaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbb"; String aa=""; String bb=""; for (int i...
本文将探讨在JavaScript中如何使用substring()和substr()方法截取字符串,并特别针对中英文混合的字符串提供解决方案。...本文提供的代码和方法可以帮助开发者解决在JavaScript中处理字符串截取时遇到的常见问题。
在JavaScript中,处理中英文混合的字符串截取是一项常见的任务,尤其在网页开发中,比如显示摘要、控制输入长度等场景。由于JavaScript的内置方法`String.prototype.length`只能计算Unicode字符的数量,对于中文字符...
本文实例讲述了C#区分中英文按照指定长度截取字符串的.../// 截取文本,区分中英文字符,中文算两个长度,英文算一个长度 /// /// 待截取的字符串 /// 需计算长度的字符串 /// <returns>string public static string G
总之,JavaScript中的字符串截取和处理是一项常见的任务,通过`cutString`函数,我们可以有效地控制字符串长度并添加省略号,以适应各种界面显示的需求。在实际应用中,我们可以根据具体需求调整和优化这个函数,以...
首先,文章标题《js截取中英文字符串、标点符号无乱码示例解读》和描述《主要介绍了如何js截取中英文字符串、标点符号无乱码,需要的朋友可以参考下》为我们提供了关键信息:这篇文章将向我们展示如何使用JavaScript...
1. 字符串长度计算:在JavaScript中,一个中文字符通常由三个字节组成,而英文字符只有一个字节。因此,需要一个函数来计算字符串的实际长度。这里的GetLength函数就扮演了这个角色,它通过遍历字符串中的每一个字符...
- **字符串截取**:指从原始字符串中提取出一部分作为新的字符串。 - **字节与字符**:在不同的编码方式下,一个字符可能占用不同的字节数。例如,在 UTF-8 编码下,英文字符通常占用 1 字节,而中文字符则占用 3 ...
综上所述,通过理解和实现JavaScript中关于处理字符串长度的函数,可以有效地解决在Web开发中遇到的文本处理问题。正确地处理单字节和双字节字符,不仅可以提升程序的健壮性,还可以为用户提供更好的阅读体验。
在JavaScript中,对`textarea`元素进行输入字符串长度限制是一个常见的需求,特别是在处理用户输入时,需要确保数据格式的正确性。在HTML中,`textarea`控件不像`input[type="text"]`那样可以直接通过`maxlength`...
通过以上的知识点,我们可以了解到按字节截取字符串在JavaScript编程中是一个重要的应用场景,特别是在处理中文等多字节字符时,它能够保证字符串截取的正确性和准确性。提供的代码示例和方法对处理类似的字符串操作...
在JavaScript中,字符串操作是日常开发中不可或缺的部分,而字符串的截取则是字符串操作中的基础功能。...在实际应用中,可以根据具体情况选择使用这些方法中的一种或多种组合,以达到预期的字符串截取效果。
在没有特殊处理的情况下,如果要截取的字符串长度设定为5,使用`substr`方法截取英文字符串"***"时,结果是"12345",而对于中文字符串"一二三四五六七八九零",使用同样长度截取结果会变成"一二三四五",显然,中文...
总结上述内容,我们了解到在处理字符串长度时,特别是涉及多字节字符时,直接以字符长度作为限制条件可能会出现错误。正确的方法是首先将输入的字符串按照编码规则进行转换,计算出实际字节数,然后进行比较和截取...
以下是一个针对中文字符串截取的JS函数代码实现: 首先,我们需要一个计算字符串长度的函数,这个函数不仅要考虑英文字符,还要考虑中文字符。`strLen`函数通过遍历字符串的每个字符,如果字符的Unicode编码大于255...
2. **截取字符串至指定字节数**:如果字符串长度超过指定字节数,则进行截取。 3. **截取字符串时保证 URL 的完整性**:在截取过程中检查是否包含 URL,并确保 URL 的完整性。 #### 实现细节 ##### 方法一:计算...