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 相关文章推荐
js怎么终止程序return不行换jfslk
May 30 Javascript
javascript实现跳转菜单的具体方法
Jul 05 Javascript
通过$(this)使用jQuery包装后的方法或属性
May 18 Javascript
Node.js静态文件服务器改进版
Jan 10 Javascript
详解vue的数据binding绑定原理
Apr 12 Javascript
Vue.use源码分析
Apr 22 Javascript
详解使用vue脚手架工具搭建vue-webpack项目
May 10 Javascript
详解利用Angular实现多团队模块化SPA开发框架
Nov 27 Javascript
koa2+vue实现登陆及登录状态判断
Aug 15 Javascript
p5.js临摹动态图形实现方法详解
Oct 23 Javascript
vue+element使用动态加载路由方式实现三级菜单页面显示的操作
Aug 04 Javascript
在react项目中使用antd的form组件,动态设置input框的值
Oct 24 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
PHP Socket 编程
2010/04/09 PHP
利用PHP扩展vld查看PHP opcode操作步骤
2013/03/04 PHP
PHP JSON出错:Cannot use object of type stdClass as array解决方法
2014/08/16 PHP
PHP连接MySQL数据库三种实现方法
2020/12/10 PHP
js CSS操作方法集合
2008/10/31 Javascript
js 获取Listbox选择的值的代码
2010/04/15 Javascript
jQuery 1.9.1源码分析系列(十三)之位置大小操作
2015/12/02 Javascript
JS实现title标题栏文字不间断滚动显示效果
2016/09/07 Javascript
bootstrap datepicker限定可选时间范围实现方法
2016/09/28 Javascript
JavaScript实现二分查找实例代码
2017/02/22 Javascript
vue封装第三方插件并发布到npm的方法
2017/09/25 Javascript
基于vue.js实现的分页
2018/03/13 Javascript
Vue基于vuex、axios拦截器实现loading效果及axios的安装配置
2019/04/26 Javascript
Python 第一步 hello world
2009/09/25 Python
盘点提高 Python 代码效率的方法
2014/07/03 Python
Python中编写ORM框架的入门指引
2015/04/29 Python
Python urls.py的三种配置写法实例详解
2017/04/28 Python
python自动查询12306余票并发送邮箱提醒脚本
2018/05/21 Python
python pandas实现excel转为html格式的方法
2018/10/23 Python
对Python3中bytes和HexStr之间的转换详解
2018/12/04 Python
使用Python画股票的K线图的方法步骤
2019/06/28 Python
详解python中的index函数用法
2019/08/06 Python
python tqdm 实现滚动条不上下滚动代码(保持一行内滚动)
2020/02/19 Python
python判断正负数方式
2020/06/03 Python
用C或者C++语言实现SOCKET通信
2015/02/24 面试题
项目建议书格式
2014/03/12 职场文书
生产操作工岗位职责
2014/09/16 职场文书
销售人员工作自我评价
2014/09/21 职场文书
2014年终个人工作总结
2014/11/07 职场文书
五好家庭事迹材料
2014/12/20 职场文书
护士个人总结范文
2015/02/13 职场文书
全国法制宣传日活动总结
2015/05/05 职场文书
甲午大海战观后感
2015/06/02 职场文书
廉洁自律准则学习心得体会
2016/01/13 职场文书
2016年全国爱眼日宣传教育活动总结
2016/04/05 职场文书
解决Pytorch dataloader时报错每个tensor维度不一样的问题
2021/05/28 Python