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


Posted in Javascript onOctober 15, 2013

方法一:

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; 
}
Javascript 相关文章推荐
载入进度条 效果
Jul 08 Javascript
页面中body onload 和 window.onload 冲突的问题的解决
Jul 01 Javascript
javascript break指定标签打破多层循环示例
Jan 20 Javascript
JS使用ajax从xml文件动态获取数据显示的方法
Mar 24 Javascript
jQuery子元素过滤选择器用法示例
Sep 09 Javascript
JavaScript面试题(指针、帽子和女朋友)
Nov 23 Javascript
新手vue构建单页面应用实例代码
Sep 18 Javascript
详解基于vue-router的动态权限控制实现方案
Sep 28 Javascript
Vue实现内部组件轮播切换效果的示例代码
Apr 07 Javascript
Vue+Koa2 打包后进行线上部署的教程详解
Jul 31 Javascript
微信h5静默和非静默授权获取用户openId的方法和步骤
Jun 08 Javascript
Node在Controller层进行数据校验的过程详解
Aug 28 Javascript
Javascript中查找不以XX字符结尾的单词示例代码
Oct 15 #Javascript
通过js获取div的background-image属性
Oct 15 #Javascript
js日期相关函数总结分享
Oct 15 #Javascript
JavaScript的继承的封装介绍
Oct 15 #Javascript
jquery实现兼容浏览器的图片上传本地预览功能
Oct 14 #Javascript
js 距离某一时间点时间是多少实现代码
Oct 14 #Javascript
js算法中的排序、数组去重详细概述
Oct 14 #Javascript
You might like
linux实现php定时执行cron任务详解
2013/12/24 PHP
php文件操作小结(删除指定文件/获取文件夹下的文件名/读取文件夹下图片名)
2016/05/09 PHP
详解PHP编码转换函数应用技巧
2016/10/22 PHP
php图片合成方法(多张图片合成一张)
2017/11/25 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
2018/02/10 PHP
再谈IE中Flash控件的自动激活 ObjectWrap
2007/03/09 Javascript
js 方法实现返回多个数据的代码
2009/04/30 Javascript
js URL参数的拼接方法比较
2012/02/15 Javascript
js,jquery滚动/跳转页面到指定位置的实现思路
2014/06/03 Javascript
JavaScript访问字符串中单个字符的两种方法
2015/07/03 Javascript
jquery实现的Banner广告收缩效果代码
2015/09/02 Javascript
javascript图片预览和上传(兼容IE)
2017/03/15 Javascript
js如何编写简单的ajax方法库
2017/08/02 Javascript
js for终止循环 跳出多层循环
2018/10/04 Javascript
[03:00]DOTA2-DPC中国联赛1月18日Recap集锦
2021/03/11 DOTA
详解Python中的多线程编程
2015/04/09 Python
Python实现遍历目录的方法【测试可用】
2017/03/22 Python
使用python实现链表操作
2018/01/26 Python
python实现人脸识别经典算法(一) 特征脸法
2018/03/13 Python
Python系统监控模块psutil功能与经典用法分析
2018/05/24 Python
Python中循环后使用list.append()数据被覆盖问题的解决
2018/07/01 Python
Python基于SMTP协议实现发送邮件功能详解
2018/08/14 Python
Python不同目录间进行模块调用的实现方法
2019/01/29 Python
提升Python程序性能的7个习惯
2019/04/14 Python
python 两个数据库postgresql对比
2019/10/21 Python
python 统计list中各个元素出现的次数的几种方法
2021/02/20 Python
俄罗斯化妆品和香水网上商店:Iledebeaute
2019/01/03 全球购物
俄罗斯香水和化妆品网上商店:NOTINO.ru
2019/12/17 全球购物
杭州-DOTNET笔试题集
2013/09/25 面试题
写好自荐信的技巧
2013/11/08 职场文书
日语专业推荐信
2013/11/12 职场文书
员工手册董事长致辞
2015/07/29 职场文书
用python自动生成日历
2021/04/24 Python
详细聊聊Oracle表碎片对性能有多大的影响
2022/03/19 Oracle
台式电脑蓝牙适配器怎么安装?台式电脑蓝牙适配器安装教程
2022/04/08 数码科技
oracle数据库去除重复数据
2022/05/20 Oracle