js判断字符的宽度

        需求背景:根据文字的内容设置元素的宽度,但是中文和英文的宽度不一样,所以遍历字符串,如果是中文,长度加2,

如果是英文,长度加1。因此,做此笔记。

方式一:

function strLen(str) {  
  var len = 0;  
  for (var i=0; i127 || str.charCodeAt(i)==94) {  
       len += 2;  
     } else {  
       len ++;  
     }  
   }  
  return len;  
}

方式二:

function strlen(str){
    var len = 0;
    for (var i=0; i= 0x0001 && c <= 0x007e) || (0xff60<=c && c<=0xff9f)) { 
           len++; 
        } else { 
           len+=2; 
        } 
    } 
    return len;
}

方式三:

function strLen(str){
    var l = str.length; 
    var blen = 0; 
    for(i=0; i

方式四:

function strLen(str) {
  if (str == null) return 0;
  if (typeof str != "string"){
    str += "";
  }
  return str.replace(/[^\x00-\xff]/g,"01").length;
}

 

你可能感兴趣的:(JavaScript)