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闭包
Dec 14 Javascript
js判断某个字符出现的次数的简单实例
Jun 03 Javascript
Three.js学习之Lamber材质和Phong材质
Aug 04 Javascript
判断js的Array和Object的实现方法
Aug 29 Javascript
VUE 更好的 ajax 上传处理 axios.js实现代码
May 10 Javascript
详解angularjs popup-table 弹出框表格指令
Sep 20 Javascript
vue-router+vuex addRoutes实现路由动态加载及菜单动态加载
Sep 28 Javascript
vue项目中实现缓存的最佳方案详解
Jul 11 Javascript
Layui实现数据表格中鼠标悬浮图片放大效果,离开时恢复原图的方法
Sep 11 Javascript
VUEX采坑之路之获取不到$store的解决方法
Nov 08 Javascript
vue 实现锚点功能操作
Aug 10 Javascript
微信小程序实现翻牌抽奖动画
Sep 21 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控制网页过期时间的代码
2008/09/28 PHP
php字符串替换函数substr_replace()用法实例
2015/03/17 PHP
JS操作XML中DTD介绍及使用方法分析
2019/07/04 PHP
php输出反斜杠的实例方法
2019/09/19 PHP
Yii 框架入口脚本示例分析
2020/05/19 PHP
jQuery验证Checkbox是否选中的代码 推荐
2011/09/04 Javascript
firefox浏览器不支持innerText的解决方法
2013/08/07 Javascript
jQuery UI 实现email输入提示实例
2013/08/15 Javascript
多种方法实现JS动态添加事件
2013/11/01 Javascript
javascript中直接引用Microsoft的COM生成Word
2014/01/20 Javascript
异步JS框架的作用以及实现方法
2015/10/29 Javascript
js获取元素的标签名实现方法
2016/10/08 Javascript
3种不同的ContextMenu右键菜单实现代码
2016/11/03 Javascript
React注册倒计时功能的实现
2018/09/06 Javascript
微信小程序位置授权处理方法
2019/06/13 Javascript
nodejs实现UDP组播示例方法
2019/11/04 NodeJs
TypeScript 引用资源文件后提示找不到的异常处理技巧
2020/07/15 Javascript
Vue props中Object和Array设置默认值操作
2020/07/30 Javascript
vue项目开启Gzip压缩和性能优化操作
2020/10/26 Javascript
浅谈Python处理PDF的方法
2017/11/10 Python
python 用所有标点符号分隔句子的示例
2019/07/15 Python
利用Python小工具实现3秒钟将视频转换为音频
2019/10/29 Python
Python如何实现动态数组
2019/11/02 Python
python判断正负数方式
2020/06/03 Python
Scrapy 配置动态代理IP的实现
2020/09/28 Python
Tiqets英国:智能手机上的文化和娱乐门票
2019/07/10 全球购物
杭州SQL浙江浙大网新恩普软件有限公司
2013/07/27 面试题
Linux的文件类型
2016/07/05 面试题
资料员岗位职责
2013/11/17 职场文书
2014年药房工作总结
2014/11/22 职场文书
医生个人年度总结
2015/02/28 职场文书
2015暑期社会实践调查报告
2015/07/14 职场文书
2016春季田径运动会广播稿
2015/12/21 职场文书
护理专业毕业自我鉴定
2019/08/12 职场文书
Pygame Time时间控制的具体使用详解
2021/11/17 Python
教你如何让spark sql写mysql的时候支持update操作
2022/02/15 MySQL