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 相关文章推荐
Javascript 不能释放内存.
Sep 07 Javascript
jQuery 数据缓存模块进化史详细介绍
Nov 19 Javascript
jquery控制左右箭头滚动图片列表的实例
May 20 Javascript
IE与FF下javascript获取网页及窗口大小的区别详解
Jan 14 Javascript
jquery中获得元素尺寸和坐标的方法整理
May 18 Javascript
Angular.JS学习之依赖注入$injector详析
Oct 20 Javascript
Bootstrap基本样式学习笔记之表单(3)
Dec 07 Javascript
Three.js基础部分学习
Jan 08 Javascript
vuejs指令详解
Feb 07 Javascript
使用async、enterproxy控制并发数量的方法详解
Jan 02 Javascript
jQuery实现简单复制json对象和json对象集合操作示例
Jul 09 jQuery
JQuery Ajax执行跨域请求数据的解决方案
Dec 10 jQuery
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
虚拟主机中对PHP的特殊设置
2006/10/09 PHP
dede3.1分页文字采集过滤规则详说(图文教程)续二
2007/04/03 PHP
PHP统计目录下的文件总数及代码行数(去除注释及空行)
2011/01/17 PHP
mysql总结之explain
2012/02/27 PHP
如何利用php array_multisort函数 对数据库结果进行复杂排序
2013/06/08 PHP
PHP实例分享判断客户端是否使用代理服务器及其匿名级别
2014/06/04 PHP
php随机生成数字字母组合的方法
2015/03/18 PHP
Laravel5.1数据库连接、创建数据库、创建model及创建控制器的方法
2016/03/29 PHP
PHP学习笔记之session
2018/05/06 PHP
Textarea根据内容自适应高度
2013/10/28 Javascript
js利用prototype调用Array的slice方法示例
2014/06/09 Javascript
微信JS接口汇总及使用详解
2015/01/09 Javascript
Nodejs express框架一个工程中同时使用ejs模版和jade模版
2015/12/28 NodeJs
浅谈Sublime Text 3运行JavaScript控制台
2016/06/06 Javascript
js友好的时间返回函数
2016/08/24 Javascript
把多个JavaScript函数绑定到onload事件处理函数上的方法
2016/09/04 Javascript
快速掌握jQuery插件开发
2017/01/19 Javascript
es6学习笔记之Async函数基本教程
2017/05/11 Javascript
ajax请求data遇到的问题分析
2018/01/18 Javascript
浅析vue.js数组的变异方法
2018/06/30 Javascript
JS中this的4种绑定规则详解
2020/02/04 Javascript
Python实现的石头剪子布代码分享
2014/08/22 Python
Python实现的ini文件操作类分享
2014/11/20 Python
Python利用pandas计算多个CSV文件数据值的实例
2018/04/19 Python
Python pandas RFM模型应用实例详解
2019/11/20 Python
Python实现名片管理系统
2020/02/14 Python
Django 设置多环境配置文件载入问题
2020/02/25 Python
Python tcp传输代码实例解析
2020/03/18 Python
css3绘制百度的小度熊
2018/10/29 HTML / CSS
标准导师推荐信(医学类)
2013/10/28 职场文书
中英文求职信范文
2014/01/27 职场文书
关爱女孩行动实施方案
2014/03/13 职场文书
2015年万圣节活动总结
2015/03/24 职场文书
学校节水倡议书
2015/04/29 职场文书
2015年电信员工工作总结
2015/05/26 职场文书
运动会广播稿300字
2015/08/19 职场文书