JS获取字符串实际长度(包含汉字)

匿名 (未验证) 提交于 2019-12-02 23:40:02

方法一:

var jmz = {}; jmz.GetLength = function(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(jmz.GetLength('测试测试ceshiceshi)); 

方法二(更简洁的方法):

var l = str.length; var blen = 0; for(i=0; i<l; i++) { if ((str.charCodeAt(i) & 0xff00) != 0) { blen ++; } blen ++; } 

方法三(更更简洁的方法):

var jmz = {}; jmz.GetLength = function(str) {     return str.replace(/[\u0391-\uFFE5]/g,"aa").length;   //先把中文替换成两个字节的英文,在计算长度 };     alert(jmz.GetLength('测试测试ceshiceshi')); 

转自:https://www.cnblogs.com/leezhxing/p/4103267.html

文章来源: https://blog.csdn.net/Lincain/article/details/91457709
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!