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 相关文章推荐
基于jQuery的星级评分插件
Aug 12 Javascript
用js实现小球的自由移动代码
Apr 22 Javascript
JS打开层/关闭层/移动层动画效果的实例代码
May 11 Javascript
javascript的渐进增强与平稳退化浅谈
Nov 12 Javascript
TypeScript 学习笔记之基本类型
Jun 19 Javascript
Javascript仿新浪游戏频道鼠标悬停显示子菜单效果
Aug 21 Javascript
javascript学习笔记_浅谈基础语法,类型,变量
Sep 19 Javascript
深入浅析Vue组件开发
Nov 25 Javascript
教你一步步用jQyery实现轮播器
Dec 18 Javascript
纯js实现隔行变色效果
Nov 29 Javascript
深入理解Vue router的部分高级用法
Aug 15 Javascript
浅谈vux之x-input使用以及源码解读
Nov 04 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
Syphon 虹吸式咖啡壶冲煮–拨动法
2021/03/03 冲泡冲煮
图书管理程序(二)
2006/10/09 PHP
Memcache 在PHP中的使用技巧
2010/02/08 PHP
smarty内置函数capture用法分析
2015/01/22 PHP
几个比较实用的JavaScript 测试及效验工具
2010/04/18 Javascript
利用location.hash实现跨域iframe自适应
2010/05/04 Javascript
jQuery 源码分析笔记(4) Ready函数
2011/06/02 Javascript
JQuery 中几个类选择器的简单使用介绍
2013/03/14 Javascript
js单例模式详解实例
2013/11/21 Javascript
jquery中的$(document).ready()使用小结
2014/02/14 Javascript
Node.js 去掉种子(torrent)文件里的邪恶信息
2015/03/27 Javascript
基于Vue.js实现简单搜索框
2020/03/26 Javascript
深入理解ES7的async/await的用法
2017/09/09 Javascript
深入浅出webpack教程系列_安装与基本打包用法和命令参数详解
2017/09/10 Javascript
vue-cli脚手架打包静态资源请求出错的原因与解决
2019/06/06 Javascript
在layui中使用form表单监听ajax异步验证注册的实例
2019/09/03 Javascript
js实现文章目录索引导航(table of content)
2020/05/10 Javascript
JS实现简易图片自动轮播
2020/10/16 Javascript
VUE-ElementUI 自定义Loading图操作
2020/11/11 Javascript
python 正则式 概述及常用字符
2009/05/07 Python
用于统计项目中代码总行数的Python脚本分享
2015/04/21 Python
python实现从字典中删除元素的方法
2015/05/04 Python
老生常谈进程线程协程那些事儿
2017/07/24 Python
tensorflow 恢复指定层与不同层指定不同学习率的方法
2018/07/26 Python
Python在for循环中更改list值的方法【推荐】
2018/08/17 Python
Python判断telnet通不通的实例
2019/01/26 Python
使用Django xadmin 实现修改时间选择器为不可输入状态
2020/03/30 Python
图解CSS3制作圆环形进度条的实例教程
2016/05/26 HTML / CSS
英国领先的高级美容和在线皮肤诊所:Face the Future
2020/06/17 全球购物
链表面试题-一个链表的结点结构
2015/05/04 面试题
工商企业管理实习自我鉴定
2013/12/04 职场文书
优秀中学生事迹材料
2014/01/31 职场文书
中职生自荐信范文
2014/06/15 职场文书
交通事故赔偿协议书
2014/10/16 职场文书
2015年保卫科工作总结
2015/05/14 职场文书
2015年小学一年级班主任工作总结
2015/05/21 职场文书