美文网首页
js判断字符的宽度

js判断字符的宽度

作者: 刚刚8888 | 来源:发表于2020-06-08 09:43 被阅读0次

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

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

    方式一:
    
    function strLen(str) {  
      var len = 0;  
      for (var i=0; i<str.length; i++) {  
        if (str.charCodeAt(i)>127 || str.charCodeAt(i)==94) {  
           len += 2;  
         } else {  
           len ++;  
         }  
       }  
      return len;  
    }
    方式二:
    
    function strlen(str){
        var len = 0;
        for (var i=0; i<str.length; i++) { 
            var c = str.charCodeAt(i); 
            if ((c >= 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<l; i++) { 
            if ((str.charCodeAt(i) & 0xff00) != 0) { 
                blen ++; 
            } 
            blen ++; 
        }
    }
    方式四:
    
    function strLen(str) {
      if (str == null) return 0;
      if (typeof str != "string"){
        str += "";
      }
      return str.replace(/[^\x00-\xff]/g,"01").length;
    }
    
    

    相关文章

      网友评论

          本文标题:js判断字符的宽度

          本文链接:https://www.haomeiwen.com/subject/dpmvzhtx.html