最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

js?字符串中文下對齊問題解析

 更新時間:2023年07月24日 10:30:37   作者:點墨  
這篇文章主要為大家介紹了js字符串含中文下對齊問題解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

問題

在中文下對齊字符串會出現問題,原因是中文字符占兩個字節(jié),如下所示

let val = [
    {
        title:"錯嫁豪門:萌娃集合,把渣爹搞破產",
        author:"左暮顏傅寒蒼"
    },
     {
        title:"驚!未婚女星竟被萌娃追著叫媽",
        author:"大雪無聲"
    }
]
function test(){
    for(let i=0;i<val.length;i++){
        let title = alignStr(val[i].title,{len:80});
         let author = alignStr(val[i].author,{len:40});
        console.log(title + author);
    }
}
test();

解決

使用正則替換,將中文字符轉換為英文字符,再進行處理

function alignStr(strVal, { len, padChar = " ", shouldCut = true }) {
  if (!len || typeof len != "number") return strVal;
  if (!strVal) {
    return padChar.repeat(len);
  } else {
    const strLen = strVal.replace(/[^\\x00-\\xff]/ig, "aa").length;
    const remainLen = len - strLen;
    if(remainLen<0){
      return shouldCut ? strVal.substring(0, len) : strVal;
    }else if(remainLen > 0){
        return strVal + padChar.repeat(remainLen);
    }else{
        return strVal;
    }
  }
}

效果

let val = [
    {
        title:"錯嫁豪門:萌娃集合,把渣爹搞破產",
        author:"左暮顏傅寒蒼"
    },
     {
        title:"驚!未婚女星竟被萌娃追著叫媽",
        author:"大雪無聲"
    }
]
function test1(){
    for(let i=0;i<val.length;i++){
        let title = val[i].title.padEnd(80);
         let author = val[i].author.padEnd(40);
        console.log(title + author);
    }
}
test1();
function alignStr(strVal, { len, padChar = " ", shouldCut = true }) {
  if (!len || typeof len != "number") return strVal;
  if (!strVal) {
    return padChar.repeat(len);
  } else {
    let newStrVal = strVal;
    const strLen = newStrVal.replace(/[\u4E00-\u9FA5]|[\uFE30-\uFFA0]/ig, "  ").length;
    const remainLen = len - strLen;
    if(remainLen<0){
      return shouldCut ? newStrVal.substring(0, len) : newStrVal;
    }else if(remainLen > 0){
        return newStrVal + padChar.repeat(remainLen);
    }else{
        return newStrVal;
    }
  }
}

以上就是js 字符串中文下對齊問題解析的詳細內容,更多關于js 字符串含中文下對齊的資料請關注腳本之家其它相關文章!

相關文章

  • 微信小程序中使用javascript 回調函數

    微信小程序中使用javascript 回調函數

    這篇文章主要介紹了微信小程序中使用javascript 回調函數的相關資料,需要的朋友可以參考下
    2017-05-05
  • CheckBox 如何實現全選?

    CheckBox 如何實現全選?

    CheckBox 如何實現全選?...
    2006-06-06
  • JS觸摸屏網頁版仿app彈窗型滾動列表選擇器/日期選擇器

    JS觸摸屏網頁版仿app彈窗型滾動列表選擇器/日期選擇器

    這篇文章主要介紹了觸摸屏網頁版仿app彈窗型滾動列表選擇器/日期選擇器的相關資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
    2016-10-10
  • 關于JavaScript?中?if包含逗號表達式

    關于JavaScript?中?if包含逗號表達式

    這篇文章主要介紹了?關于JavaScript?中?if包含逗號表達式,有時會看到JavaScript中if判斷里包含英文逗號?“,”,這個是其實是逗號表達式。在if條件里,只有最后一個表達式起判斷作用。下面來看看文章的具體介紹吧
    2021-11-11
  • JavaScript利用html5新方法操作元素類名詳解

    JavaScript利用html5新方法操作元素類名詳解

    這篇文章主要給大家分享的是JavaScript用html5新方法操作元素類名的詳解,早先JavaScript處理起來特別不方便,需要先取到class屬性,然后對字符串進行處理?,F在html5給所有元素增加了classList屬性來操作類屬性,非常方便,下面就一起來看看具體操作過程吧
    2021-11-11
  • 詳解微信小程序Radio選中樣式切換

    詳解微信小程序Radio選中樣式切換

    這篇文章主要介紹了詳解微信小程序Radio選中樣式切換的相關資料,需要的朋友可以參考下
    2017-07-07
  • arrify 轉數組實現示例源碼解析

    arrify 轉數組實現示例源碼解析

    這篇文章主要為大家介紹了arrify 轉數組實現示例源碼解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-12-12
  • 微信小程序之滾動視圖容器的實現方法

    微信小程序之滾動視圖容器的實現方法

    這篇文章主要介紹了微信小程序之滾動視圖容器的實現方法的相關資料,希望通過本文能幫助到大家,讓大家掌握這部分內容,需要的朋友可以參考下
    2017-09-09
  • JavaScript執(zhí)行機制詳細介紹

    JavaScript執(zhí)行機制詳細介紹

    這篇文章主要介紹了JavaScript執(zhí)行機制,想要搞懂JavaScript執(zhí)行機制,便與進程與線程的概念脫不了干系,下面我們就來看看這JavaScript執(zhí)行機制的具體介紹吧,需要的朋友可以參考一下
    2021-12-12
  • 微信小程序(二)Window 配置詳細介紹

    微信小程序(二)Window 配置詳細介紹

    這篇文章主要介紹了微信小程序(二)Window 配置詳細介紹的相關資料,需要的朋友可以參考下
    2016-09-09

最新評論

汾西县| 神农架林区| 江口县| 大城县| 临武县| 团风县| 天水市| 兴义市| 黄龙县| 自贡市| 屯门区| 沁源县| 天长市| 达日县| 东方市| 福建省| 梅州市| 黄大仙区| 和平区| 呈贡县| 青河县| 合肥市| 秦皇岛市| 荥经县| 舟山市| 华亭县| 祥云县| 嘉兴市| 辰溪县| 华蓥市| 侯马市| 淮安市| 教育| 五家渠市| 休宁县| 新昌县| 白玉县| 金乡县| 蓬溪县| 永嘉县| 西华县|