js虽然提供了计算字符串所占字节数的函数,但是却不能正确计算汉字所占的字节数,如document.form1.username.value=“我是中国人”,document.form1.username.value.length返回的是5而不是10,于是给编程时带来一些麻烦,如限制固定长度字符的输入,截取固定长度的字符串都因为这个问题达不到预想的效果,下面是自己写的一个简单的函数,用于截取固定长度的字符串,中英文都适用.若有不妥之处还请高手指正!
//js截取字符串,中英文都能用
//如果给定的字符串大于指定长度,截取指定长度返回,否者返回源字符串。
function cutstr(str,len)
{
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("...");
return str_cut;
}
}
//如果给定字符串小于指定长度,则返回源字符串;
if(str_length<len){
return str;
}
}
如cutstr("我是中国人",6);返回的将是:我是中...
分享到:
相关推荐
标题提到的"js截取固定长度的中英文字符的简单实例",实际上就是提供了一个这样的解决方案。这个实例中的函数`cutstr`实现了以下功能: 1. **计算字符串的实际长度**:通过遍历字符串的每个字符,使用`charAt()`...
### JavaScript截取中文字符串知识点详解 #### 一、引言 在进行文本处理时,我们经常需要对字符串进行截取操作。特别是在处理包含多种字符集(如英文与中文)的字符串时,考虑到不同字符编码长度的差异性,简单地...
本文实例讲述了C#区分中英文按照指定长度截取字符串的.../// 截取文本,区分中英文字符,中文算两个长度,英文算一个长度 /// /// 待截取的字符串 /// 需计算长度的字符串 /// <returns>string public static string G
示例函数sub()使用正则表达式来处理中英文混合字符串,通过比较替换后的字符串长度来判断截取长度是否正确。 示例代码如下: ```javascript <script type="text/javascript"> var sub = function(str, n) { var r...
//不分中英文按字符串长度循环每个字符截取换行 这个是隔10个字符换行一次 String psStr="asdfghjklzxcvbnmzxcvbnmsdfghaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbb"; String aa=""; String bb=""; for (int i...
在JavaScript编程中,控制输入中英文字符数是一项常见的需求,特别是在网页表单或者文本输入框中。这样的功能有助于保持用户输入的数据格式规范,防止输入过长的文本导致数据处理问题。下面我们将详细讨论如何实现这...
1. 字符串长度计算:在JavaScript中,一个中文字符通常由三个字节组成,而英文字符只有一个字节。因此,需要一个函数来计算字符串的实际长度。这里的GetLength函数就扮演了这个角色,它通过遍历字符串中的每一个字符...
在JavaScript中,处理字符串长度有时会遇到特殊的情况,特别是涉及到中英文混合的字符串。中文字符占用的字节数是英文字符的两倍,这在计算显示长度时需要特别注意。本实例提供了一种方法,用于根据字节长度来截取...
在JavaScript中,处理字符串长度和截取固定长度的字符串是一项常见的任务,特别是在处理包含多字节字符(如中文、日文、韩文等)的文本时。这些字符在JavaScript的字符串长度计算中可能会造成混淆,因为一个双字节...
文章标题《js截取中英文字符串、标点符号无乱码示例解读》和描述《主要介绍了如何js截取中英文字符串、标点符号无乱码,需要的朋友可以参考下》为我们提供了关键信息:这篇文章将向我们展示如何使用JavaScript(简称...
在处理中文字符时,需要注意的是,一个中文字符在JavaScript中占用两个字节,而英文字符则只占用一个字节。因此,我们在截取字符串时必须考虑字符编码的影响。 以下是一个实现自动截取字符串长度并添加省略号的函数...
在JavaScript编程中,一个中文汉字往往被视为两个字节(byte),而英文字符则通常只占用一个字节。 根据给定文件内容,我们可以了解到有关js字符限制和字符截取方面的相关知识点。从文件中的核心js代码可以看出,...
在这两个方法中,`truelen`函数是用来计算字符串真实长度的,因为它考虑到中文字符占用两个字节,而英文字符占用一个字节。该函数遍历字符串中的每个字符,通过`charCodeAt`方法获取字符的Unicode编码,如果大于255...
例如,在 UTF-8 编码下,英文字符通常占用 1 字节,而中文字符则占用 3 字节。 - **字符串编码**:用于表示文本的计算机编码格式,常见的有 ASCII、UTF-8、GBK 等。 - **jQuery**:一种常用的 JavaScript 库,可以...
代码中使用了`onpropertychange`事件,它是当元素的属性发生变化时触发的事件,此事件在文本框值改变时被触发,进而调用`notifyTextLength`函数来动态检测和截取长度。这使得文本框对用户的输入实时响应,提高用户...
中文字符一般占用2个字节,而英文字符占用1个字节,这就导致了中英文字符在长度上的不一致。 在没有特殊处理的情况下,如果要截取的字符串长度设定为5,使用`substr`方法截取英文字符串"***"时,结果是"12345",而...
6. 总结:通过上述方法和示例,我们可以看到,在JavaScript中实现中英文混合文本溢出友好截取功能时,需要考虑到中英文字符在空间占用上的差异,利用合适的字符串处理方法和正则表达式技术,封装一个功能强大的字符...