二话不说直接上代码
String.prototype.moneyformat=function(){
var val=this;
if (val == 0) {//判断是否为空,0,null等等 统一返回
return '0.00';
}
val=parseFloat(val).toFixed(2);//转float保留两位小数
var re = /(\d{1,3})(?=(\d{3})+(?:$|\D))/g;//定义正则
var _val = val.replace(/^0|,|[^0-9.-]/g, '').replace(/\.[\d]{1,}/, function ($1, $2) {
var _str = $1.replace(/\./g, '');
return '.' + _str.substr(0, (_str.length > 2 ? 2 : _str.length));
});
return _val.replace(re, '$1,');
}