js计算字符串长度包含的中文是utf8格式_javascript技巧

方法一:

复制代码 代码如下:

function byteLength(str) {
 var byteLen = 0, len = str.length;
 if( !str ) return 0;
 for( var i=0; i<len; i++ )
  byteLen += str.charCodeAt(i) > 255 ? 2 : 1;
 return byteLen;
}

说明:byteLength(str)
参数:
string str: 要计算字节长度的字符串(非ASCII的字符算2字节)

方法二:

JS获取字符串实际长度!

今天又添加一个小东西!一个程序员经常要用到的字符串长度检测方法,由于JS原先的长度中文跟英文一样一个字符为1个长度。所以这里就得需要大家自己判断并获取字符串的实际长度了。

复制代码 代码如下:

function GetLength(str) {
    ///<summary>获得字符串实际长度,中文2,英文1</summary>
    ///<param name="str">要获得长度的字符串</param>
    var realLength = 0, len = str.length, charCode = -1;
    for (var i = 0; i < len; i++) {
        charCode = str.charCodeAt(i);
        if (charCode >= 0 && charCode <= 128) realLength += 1;
        else realLength += 2;
    }
    return realLength;
};  

执行代码:

alert(GetLength('测试测试ceshiceshi));   

方法三: 暂时没有通过测试

复制代码 代码如下:

function getByteLen(val) {
var len = 0;
for (var i = 0; i < val.length; i++) {
if (val[i].match(/[\u4e00-\u9fa5 ]/ig) != null)
len += 2;
else
len += 1;
}
return len;
}

方法四:

GBK长度计算函数:

复制代码 代码如下:

// GBK字符集实际长度计算
function getStrLeng(str){
    var realLength = 0;
    var len = str.length;
    var charCode = -1;
    for(var i = 0; i < len; i++){
        charCode = str.charCodeAt(i);
        if (charCode >= 0 && charCode <= 128) { 
            realLength += 1;
        }else{ 
            // 如果是中文则长度加2
            realLength += 2;
        }
    } 
    return realLength;
}

UTF8长度计算函数:

复制代码 代码如下:

// UTF8字符集实际长度计算
function getStrLeng(str){
    var realLength = 0;
    var len = str.length;
    var charCode = -1;
    for(var i = 0; i < len; i++){
        charCode = str.charCodeAt(i);
        if (charCode >= 0 && charCode <= 128) { 
            realLength += 1;
        }else{ 
            // 如果是中文则长度加3
            realLength += 3;
        }
    } 
    return realLength;
}

时间: 2024-10-03 05:48:09

js计算字符串长度包含的中文是utf8格式_javascript技巧的相关文章

js 计算字符串长度/判断空的简单方法

计算字符串长度可用的三种方法:  代码如下 复制代码 echo "$str"awk '{print length($0)}' expr length "$str" echo "$str"wc -c 但是第三种得出的值会多1,可能是把结束符也计算在内了. 判断字符串为空的方法有三种:  代码如下 复制代码 if [ "$str" = "" ] if [ x"$str" = x ] if [

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

js虽然提供了计算字符串所占字节数的函数,但是却不能正确计算汉字所占的字节数,如document.form1.username.value="我是中国人",document.form1.username.value.length返回的是5而不是10,于是给编程时带来一些麻烦,如限制固定长度字符的输入,截取固定长度的字符串都因为这个问题达不到预想的效果,下面是自己写的一个简单的函数,用于截取固定长度的字符串,中英文都适用.若有不妥之处还请高手指正! 复制代码 代码如下: //js截取字符

js替换字符串中所有指定的字符(实现代码)_javascript技巧

第一次发现JavaScript中replace() 方法如果直接用str.replace("-","!") 只会替换第一个匹配的字符. 而str.replace(/\-/g,"!")则可以全部替换掉匹配的字符(g为全局标志). replace() The replace() method returns the string that results when you replace text matching its first argumen

Javascript 计算字符串在localStorage中所占字节数_javascript技巧

最近项目有个需求要用js计算一串字符串写入到localStorage里所占的内存,众所周知的,js是使用Unicode编码的.而Unicode的实现有N种,其中用的最多的就是UTF-8和UTF-16.因此本文只对这两种编码进行讨论. 下面这个定义摘自维基百科(http://zh.wikipedia.org/zh-cn/UTF-8),做了部分删减. UTF-8(8-bit Unicode Transformation Format)是一种针对Unicode的可变长度字符编码,可以表示Unicode

JS 清除字符串数组中,重复元素的实现方法_javascript技巧

JS 清除字符串数组中,重复元素的实现方法 <script language="JavaScript"> <!-- var arrData=new Array(); for(var i=0; i<1000; i++) { arrData[arrData.length] = String.fromCharCode(Math.floor(Math.random()*26)+97); } //document.write(arrData+"<br/&g

JS实现字符串转日期并比较大小实例分析_javascript技巧

本文实例分析了JS实现字符串转日期并比较大小的方法.分享给大家供大家参考,具体如下: 方法1: function compareDate(DateOne, DateTwo) { var OneMonth = DateOne.substring(5, DateOne.lastIndexOf("-")); var OneDay = DateOne.substring(DateOne.length, DateOne.lastIndexOf("-") + 1); var O

js实现字符串的16进制编码不加密_javascript技巧

今天看到群里有人提问关于十六进制编码的问题,所以使用JS写了个小程序转换一下,记住:这只是编码,不是加密! 字符串转十六进制编码: 复制代码 代码如下: str="http://www.qq.com"; len=str.length; arr=[]; for(var i=0;i<len;i++){ arr.push(str.charCodeAt(i).toString(16)); } console.log("\\x"+arr.join("\\x&q

JS操作字符串转换为数值并取整的代码_javascript技巧

核心代码: 复制代码 代码如下: var result = '3.1415926' | 0; // 3 测试代码: [Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

JS对字符串编码的几种方式使用指南_javascript技巧

函数 描述 encodeURI() 把字符串编码为 URI encodeURIComponent() 把字符串编码为 URI 组件 escape() 对字符串进行编码 上面是查询来自w3school的资料.那么三者之间有什么区别呢,请容我测试测试. 复制代码 代码如下: var str = "http://localhost:8080/Product/index?id=123&attr=456&area=中国"; console.log(encodeURI(str));