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 相关文章推荐
style、 currentStyle、 runtimeStyle区别分析
Aug 01 Javascript
javascript制作loading动画效果 loading效果
Jan 14 Javascript
解决extjs grid 不随窗口大小自适应的改变问题
Jan 26 Javascript
Jquery+asp.net后台数据传到前台js进行解析的方法
May 11 Javascript
jquery+css3问卷答题卡翻页动画效果示例
Oct 26 Javascript
Textarea输入字数限制实例(兼容iOS&amp;安卓)
Jul 06 Javascript
基于JavaScript实现飘落星星特效
Aug 10 Javascript
JS中利用FileReader实现上传图片前本地预览功能
Mar 02 Javascript
ES6知识点整理之函数数组参数的默认值及其解构应用示例
Apr 17 Javascript
微信小程序结合Storage实现搜索历史效果
May 18 Javascript
JS实现返回上一页并刷新页面的方法分析
Jul 16 Javascript
在elementui中Notification组件添加点击事件实例
Nov 11 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
基于MySQL体系结构的分析
2013/05/02 PHP
LotusPhp笔记之:基于ObjectUtil组件的使用分析
2013/05/06 PHP
关于查看MSSQL 数据库 用户每个表 占用的空间大小
2013/06/21 PHP
PHP Static延迟静态绑定用法分析
2016/03/16 PHP
Js 获取HTML DOM节点元素的方法小结
2009/04/24 Javascript
利用javascript实现禁用网页上所有文本框,下拉菜单,多行文本域
2013/12/14 Javascript
javascript为按钮注册回车事件(设置默认按钮)的方法
2015/05/09 Javascript
Javascript基础_简单比较undefined和null 值
2016/06/14 Javascript
JavaScript中 ES6 generator数据类型详解
2016/08/11 Javascript
JS排序之选择排序详解
2017/04/08 Javascript
深入讲解xhr(XMLHttpRequest)/jsonp请求之abort
2017/07/26 Javascript
node+koa实现数据mock接口的方法
2017/09/20 Javascript
如何抽象一个Vue公共组件
2017/10/17 Javascript
JavaScript自执行函数和jQuery扩展方法详解
2017/10/27 jQuery
JS设计模式之命令模式概念与用法分析
2018/02/06 Javascript
微信小程序自定义组件实现tabs选项卡功能
2018/07/14 Javascript
js实现二级联动简单实例
2020/01/11 Javascript
JS中间件设计模式的深入探讨与实例分析
2020/04/11 Javascript
OpenLayers3实现图层控件功能
2020/09/25 Javascript
[02:57]DOTA2英雄基础教程 风行者
2014/01/16 DOTA
python中去空格函数的用法
2014/08/21 Python
Centos 升级到python3后pip 无法使用的解决方法
2018/06/12 Python
python实现flappy bird小游戏
2018/12/24 Python
解决在pycharm中显示额外的 figure 窗口问题
2019/01/15 Python
Python 微信之获取好友昵称并制作wordcloud的实例
2019/02/21 Python
matplotlib常见函数之plt.rcParams、matshow的使用(坐标轴设置)
2021/01/05 Python
Python操作Excel的学习笔记
2021/02/18 Python
澳大利亚工具仓库:Tools Warehouse
2018/10/15 全球购物
C++的几个面试题附答案
2016/08/03 面试题
What's the difference between Debug and Trace class? (Debug类与Trace类有什么区别)
2013/09/10 面试题
班级道德讲堂实施方案
2014/02/24 职场文书
个人师德师风自我剖析材料
2014/09/29 职场文书
2015年中学校长工作总结
2015/05/19 职场文书
通讯稿格式及范文
2015/07/22 职场文书
2016年六一儿童节开幕词
2016/03/04 职场文书
PostgreSQL数据库去除重复数据和运算符的基本查询操作
2022/04/12 PostgreSQL