js为数字添加千位分隔符

1.字符串处理比较复杂

function test(str){ 
  var iNum = str.length % 3; 
  var prev = ''; 
  var iNow = 0; 
  var temp = ''; 
  var arr = []; 
  if (iNum != 0){ 
    prev = str.substring(0, iNum); 
    arr.push(prev); 
  } 
  str = str.substring(iNum); 
  for (var i = 0; i < str.length; i++){ 
    iNow++; 
    temp += str[i]; 
    if (iNow == 3 && temp){ 
      arr.push(temp); 
      temp = ''; 
      iNow = 0; 
    } 
  } 
  return arr.join(','); 
}

str = '98156464343436465'; 
test(str);

 

2.用正则实现

function test(str){ 
  var re = /(?=(?!\b)(\d{3})+$)/g; 
  return str.replace(re, ','); 

str = '98156464436465'; 
test(str);

posted on 2016-04-21 17:09  flsummer  阅读(1333)  评论(0编辑  收藏  举报

导航