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

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

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

問題

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

let val = [
    {
        title:"錯嫁豪門:萌娃集合,把渣爹搞破產(chǎn)",
        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();

解決

使用正則替換,將中文字符轉(zhuǎn)換為英文字符,再進(jìn)行處理

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:"錯嫁豪門:萌娃集合,把渣爹搞破產(chǎn)",
        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 字符串中文下對齊問題解析的詳細(xì)內(nèi)容,更多關(guān)于js 字符串含中文下對齊的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論

陵川县| 辛集市| 兴安县| 颍上县| 尼玛县| 娄底市| 稷山县| 临西县| 呼伦贝尔市| 安陆市| 鹤岗市| 抚顺市| 广汉市| 溆浦县| 武穴市| 巫山县| 健康| 大丰市| 盐池县| 昌黎县| 山阴县| 巴彦淖尔市| 石棉县| 岫岩| 云龙县| 屏东县| 隆子县| 时尚| 大余县| 弋阳县| 广州市| 泰宁县| 清水河县| 法库县| 内黄县| 尚志市| 宁蒗| 祁门县| 鸡西市| 乐安县| 乌拉特中旗|