js分割数字每三个以一个逗号划分,数字转换为RMB形式。

 

正则表达式替换法一:

var str = "123456789"
str.replace(/\B(?=(?:\d{3})+\b)/g, ',')    // 匹配单词边界替换为逗号

  

正则表达式替换法二:

var str = "123456789"
str.replace(/(\d)(?=(\d{3})+$)/g, '$1,')   //  (\d{3})+$ 的意思是连续匹配 3 个数字,且最后一次匹配以 3 个数字结尾

  

常规循环重组法:

// 思路来源于正则表达式替换法二,判断当前循环的数字后面的数长度是否为3的倍数,如果是则拼接一个逗号。
function getSplitStr(str) { // 参数可传数字与字符
  str = str.toString()
  var result = ""
  var strLen = str.length
  for (var i = 1; i <= strLen; i++) {
    result += str[i - 1]
    if ((strLen - i) % 3 === 0 && i !== strLen) {
      result += ','
    }
  }
  return result
}
getSplitStr(12345678) // 调用方法  12,345,678

  

posted @ 2021-09-14 13:02  李健威  阅读(715)  评论(0)    收藏  举报