千位分隔符

254 阅读1分钟

通过 String 的 replace 方法以及正则实现。

replace 方法支持两个参数:匹配模式字符串、替换文本或生成替换文本的函数

const numHandle_thousand = function (num) {
  // 无效为空等
  if (!num) {
    return 0;
  }
  let res = num.toString().replace(/\d+/, function (n) { // 先提取整数部分
    return n.replace(/(\d)(?=(\d{3})+$)/g, function ($1) {
      return $1 + ",";
    });
  })
  return res;
}

首先通过 /\d+/ 正则提取整数部分,后接函数对整数部分进行处理;

/(\d)(?=(\d{3})+$)/g 正则 将提取的整数部分进行三位一个分割后接千位分隔符号。