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 学习笔记(六)浏览器类型及版本信息检测代码
Apr 08 Javascript
游览器中javascript的执行过程(图文)
May 20 Javascript
jQuery操作checkbox选择(list/table)
Apr 07 Javascript
jquery 动态创建元素的方式介绍及应用
Apr 21 Javascript
JavaScript判断变量是否为空的自定义函数分享
Jan 31 Javascript
基于Javascript实现返回顶部按钮
Feb 29 Javascript
jQuery实现点击后高亮背景固定显示的菜单效果【附demo源码下载】
Sep 21 Javascript
微信小程序 解决swiper不显示图片的方法
Jan 04 Javascript
JS+canvas动态绘制饼图的方法示例
Sep 12 Javascript
Vue项目全局配置页面缓存之按需读取缓存的实现详解
Aug 01 Javascript
Vue+Django项目部署详解
May 30 Javascript
JavaScript arguments.callee作用及替换方案详解
Sep 02 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
德劲1107的电路分析与打磨
2021/03/02 无线电
PHP游戏编程25个脚本代码
2011/02/08 PHP
php中filter_input函数用法分析
2014/11/15 PHP
从性能方面考虑PHP下载远程文件的3种方法
2015/12/29 PHP
PHP实现批量删除(封装)
2017/04/28 PHP
laravel 5.3中自定义加密服务的方案详解
2017/05/09 PHP
为javascript添加String.Format方法
2020/08/11 Javascript
javascript中创建对象的三种常用方法
2010/12/30 Javascript
jquery入门必备的基本认识及实例(整理)
2013/06/24 Javascript
js实现C#的StringBuilder效果完整实例
2015/12/22 Javascript
jquery插件格式实例分析
2016/06/16 Javascript
js发送短信倒计时的简单实现方法
2016/09/08 Javascript
js中Number数字数值运算后值不对的解决方法
2017/02/28 Javascript
node.js实现登录注册页面
2017/04/08 Javascript
BACKBONE.JS 简单入门范例
2017/10/17 Javascript
vue-router实现tab标签页(单页面)详解
2017/10/17 Javascript
select获取下拉框的值 下拉框默认选中方法
2018/02/28 Javascript
layui--select使用以及下拉框实现键盘选择的例子
2019/09/24 Javascript
Vue 401配合Vuex防止多次弹框的案例
2020/11/11 Javascript
Django中redis的使用方法(包括安装、配置、启动)
2018/02/21 Python
Python Django 页面上展示固定的页码数实现代码
2019/08/21 Python
Python操作SQLite/MySQL/LMDB数据库的方法
2019/11/07 Python
python识别验证码图片实例详解
2020/02/17 Python
利用python中的matplotlib打印混淆矩阵实例
2020/06/16 Python
python关于倒排列的知识点总结
2020/10/13 Python
详解pycharm配置python解释器的问题
2020/10/15 Python
南非最受欢迎的时尚品牌:MRP
2016/09/18 全球购物
世界上最大的售后摩托车零配件超市:J&P Cycles
2017/12/08 全球购物
网站域名和主机:Domain.com
2019/04/01 全球购物
Android interview questions
2016/12/25 面试题
中国梦我的梦演讲稿
2014/04/23 职场文书
学校党的群众路线教育实践活动对照检查材料
2014/09/24 职场文书
Python中tkinter的用户登录管理的实现
2021/04/22 Python
Python requests用法和django后台处理详解
2022/03/19 Python
《金肉人》米特&《航海王》阿鹤声优松岛实因胰脏癌去世 享寿81岁
2022/04/13 日漫
html中相对位置与绝对位置的具体使用
2022/05/15 HTML / CSS