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实现按Ctrl键打开新页面
Sep 04 Javascript
HTML5 Shiv完美解决IE(IE6/IE7/IE8)不兼容HTML5标签的方法
Nov 25 Javascript
ionic cordova一次上传多张图片(类似input file提交表单)的实现方法
Dec 16 Javascript
基于bootstrap的选择框插件icheck
Dec 23 Javascript
利用forever和pm2部署node.js项目过程
May 10 Javascript
JS基于正则表达式实现的密码强度验证功能示例
Sep 21 Javascript
es6在react中的应用代码解析
Nov 08 Javascript
详解vue更改头像功能实现
Apr 28 Javascript
Vue实现拖放排序功能的实例代码
Jul 08 Javascript
在vue项目中利用popstate处理页面返回的操作介绍
Aug 06 Javascript
原生js实现自定义消息提示框
Nov 19 Javascript
vue @ ~ 相对路径 路径别名设置方式
Jun 05 Vue.js
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数组函数序列之array_unshift() 在数组开头插入一个或多个元素
2011/11/07 PHP
PHP循环结构实例讲解
2014/02/10 PHP
Laravel5中contracts详解
2015/03/02 PHP
php随机生成数字字母组合的方法
2015/03/18 PHP
PHP 常用的header头部定义汇总
2015/06/19 PHP
php is_executable判断给定文件名是否可执行实例
2016/09/26 PHP
PHP htmlspecialchars() 函数实例代码及用法大全
2018/09/18 PHP
有关PHP 中 config.m4 的探索
2020/08/26 PHP
CL vs ForZe BO5 第四场 2.13
2021/03/10 DOTA
jquery select操作的日期联动实现代码
2009/12/06 Javascript
基于JQuery的数字改变的动画效果--可用来做计数器
2010/08/11 Javascript
js遍历td tr等html元素
2012/12/13 Javascript
JS验证身份证有效性示例
2013/10/11 Javascript
设置checkbox为只读(readOnly)的两种方式
2013/10/11 Javascript
判断及设置浏览器全屏模式
2014/04/20 Javascript
jQuery中append()方法用法实例
2014/12/25 Javascript
jquery配合.NET实现点击指定绑定数据并且能够一键下载
2016/10/28 Javascript
限时抢购-倒计时的完整实例(分享)
2017/09/17 Javascript
详解vue的双向绑定原理及实现
2019/05/05 Javascript
原生js实现文件上传、下载、封装等实例方法
2020/01/05 Javascript
[06:14]《辉夜杯》外卡赛附加赛 4支战队巡礼
2015/10/23 DOTA
使用C#配合ArcGIS Engine进行地理信息系统开发
2016/02/19 Python
Python random模块制作简易的四位数验证码
2020/02/01 Python
python 浮点数四舍五入需要注意的地方
2020/08/18 Python
python链表类中获取元素实例方法
2021/02/23 Python
巴西女装购物网站:Eclectic
2018/04/24 全球购物
信息技术专业个人自我评价
2013/12/11 职场文书
写求职信要注意什么问题
2014/04/12 职场文书
2014年行风建设工作总结
2014/12/01 职场文书
2015年五一劳动节演讲稿
2015/03/18 职场文书
限期整改通知书
2015/04/22 职场文书
公司与个人合作协议书
2016/03/19 职场文书
golang 实现两个结构体复制字段
2021/04/28 Golang
Python源码解析之List
2021/05/21 Python
Python用tkinter实现自定义记事本的方法详解
2022/03/31 Python
详解如何使用Nginx解决跨域问题
2022/05/06 Servers