2012/04/26

[JavaScript]3桁区切り

お金の表示で、3桁に区切って表示する場合があるが、一体どうすればいいのだろう?

function commify(dpc){
var re_digit = new RegExp('([0-9]+)([0-9]{' + dpc + '})', 'g');
alert(re_digit);
return function(str){
str = str.replace(/([0-9]),([0-9])/g, function(m0,m1,m2){ return m1 + m2 });
while(str.match(re_digit)){
str = str.replace(re_digit, function(m0,m1,m2){ return m1 + ',' + m2 });
};
return str;
};
};

via:perl+javascript - 1,234,567,890を12,3456,7890に
これを少し改良して、このようにすればいい。
function commify(dpc){
  var digit = new RegExp('([0-9]+)([0-9]{3})', 'g');
  return function(str){
    while(str.match(digit)){
      str = str.replace(digit, function(m0,m1,m2){ return m1 + ',' + m2 });
    };
    return str;
  };
}; 
いっそのことjQueryのプラグインにしたいぐらいです。

0 コメント:

コメントを投稿