JavaScript格式化字符串为指定长度

JavaScript格式化字符串为指定长度

在前端开发的时候,我们时常会对给定的字符串做格式化处理,比如这里提及的把给定的字符串格式化为指定长度的字符串(长度过长的会截断,长度不足的字符串会在后面补全指定的字符)。

代码实现

function formatStringLen(strVal, len, padChar){
  padChar = padChar || "*";
  if (!strVal) {
    return padChar.repeat(len);
  } else {
    const strLen = strVal.length;
    if (strLen > len){
      return strVal.substring(0, len);
    } else if (strLen < len){
      return strVal.padEnd(len, padChar);
    }else{
      return strVal;
    }
  }
}

此方法默认为3个参数:

  1. strVal: 需要格式化的字符串
  2. len(纯数字):格式化后字符串的长度
  3. padChar(非必需):长度不足的时候补全用的字符,如果没有给定值默认使用*****补全

测试代码和测试结果:

//长度不足补全为默认字符
console.log("长度不足补全为默认字符: " + formatStringLen("ab", 8));
//长度不足补全为指定字符
console.log("长度不足补全为指定字符: " + formatStringLen("abc", 8, "sp"));
//长度过长自动截断
console.log("长度过长自动截断: " + formatStringLen("abcdefghijklmn", 8, "sp"));
//长度与指定长度相等返回原字符串
console.log("长度与指定长度相等返回原字符串: " + formatStringLen("abcdefgh", 8, "sp"));

posted @ 2020-11-14 20:16  澜冰  阅读(2478)  评论(0编辑  收藏  举报
Live2D