js实现格式化金额,字符,时间的方法
本文实例讲述了js实现格式化金额,字符,时间的方法。分享给大家供大家参考。具体实现方法如下:
//金额转换成大写
functiontoDaX(num){
//金额大小写转换
if(isNaN(num)||num>Math.pow(10,12))
return"";
varcn="零壹贰叁肆伍陆柒捌玖";
varunit=newArray("拾佰仟","分角");
varunit1=newArray("万亿","");
if(parseFloat(num)==0||num==''){
return"零圆";
}
varnumArray=num.toString().split(".");
varstart=newArray(numArray[0].length-1,2);
functiontoChinese(num,index){
varnum=num.replace(/\d/g,function($1){
returncn.charAt($1)+unit[index].charAt(start--%4?start%4:-1);
});
returnnum;
}
for(vari=0;i<numArray.length;i++){
vartmp="";
for(varj=0;j*4<numArray[i].length;j++){
varstrIndex=numArray[i].length-(j+1)*4;
varstr=numArray[i].substring(strIndex,strIndex+4);
varstart=i?2:str.length-1;
vartmp1=toChinese(str,i);
tmp1=tmp1.replace(/(零.)+/g,"零").replace(/零+$/,"");
tmp1=tmp1.replace(/^壹拾/,"拾");
tmp=(tmp1+unit1[i].charAt(j-1))+tmp;
}
numArray[i]=tmp;
}
numArray[1]=numArray[1]?numArray[1]:"";
numArray[0]=numArray[0]?numArray[0]+"元":numArray[0],numArray[1]=numArray[1].replace(/^零+/,"");
numArray[1]=numArray[1].match(/分/)?numArray[1]:numArray[1]+"整";
returnnumArray[0]+numArray[1];
}
/**金额格式化添加“,”分隔符*/
functionaddComma(money){ if(money==""){ return""; } if(money){ money=money.trim(); } if(/[^0-9\.\-\+]/.test(money)){ returnmoney; } money=parseFloat(money)+""; if('NaN'==money){ return "0.00"; } varmoney_flag=""; if(money.indexOf("-")!=-1){ money=money.replace(/-/g,""); money_flag="-"; }
money=money.replace(/^(\d*)$/,"$1."); money=(money+"00").replace(/(\d*\.\d\d)\d*/,"$1"); money=money.replace(".",","); varre=/(\d)(\d{3},)/; while(re.test(money)){ money=money.replace(re,"$1,$2"); } money=money.replace(/,(\d\d)$/,".$1"); varmoney= money_flag+""+money.replace(/^\./,"0.") returnmoney; }
/**金额格式化去“,”分隔符*/ functiondelComma(value){ varrtnVal=value+""; returnrtnVal.replace(/,/g,""); }
/** *金额格式化字符串添加小数点 */ functionaddPoint(money){ if(/[^0-9\.]/.test(money)){ returnmoney; } if(money.length<3||money.indexOf(".")>-1){ returnmoney; } returnmoney.substring(0,money.length-2)+"."+money.substring(money.length-2,money.length); } /** *金额格式化数字去小数点 */ functionremovePoint(money){ if(/[^0-9\.]/.test(money)){ returnmoney; } varvalueFloat=parseFloat(money)*100; varvalueInt=parseInt(valueFloat); returnvalueInt; } /*格式化小数点后两位数字以百分比显示*/ functionaddPercent(str){ varpercent=Math.floor(str*100)/100; percent=(percent.toFixed(2)); returnpercent+'%'; }
/**字符格式化添加空格分隔符*/ functionaddSpace(value){ if(value==null||value==""){ return""; }
varvalue=value+""; vartmpStr=""; while(value.length>4){ tmpStr=tmpStr+value.substring(0,4)+""; value=value.substring(4,value.length); } tmpStr=tmpStr+value; returntmpStr; }
/**字符格式化去除空格分隔符*/ functionremoveSpace(value){ varrtnVal=value+""; returnrtnVal.replace(//g,""); }
//格式化日期时间字符串 //YYYYMMDD-》YYYY-MM-DD //YYYYMMDDhhmmss-》YYYY-MM-DDhh:mm:ss functionformatDatetime(oldvalue){ if(oldvalue==null){ return""; }elseif(oldvalue.length==8){ returnoldvalue.substring(0,4)+ "-"+oldvalue.substring(4,6)+ "-"+oldvalue.substring(6,8); }elseif(oldvalue.length==14){ returnoldvalue.substring(0,4)+ "-"+oldvalue.substring(4,6)+ "-"+oldvalue.substring(6,8)+ ""+oldvalue.substring(8,10)+ ":"+oldvalue.substring(10,12)+ ":"+oldvalue.substring(12,14); }elseif(oldvalue.length==6){ returnoldvalue.substring(0,2)+ ":"+oldvalue.substring(2,4)+ ":"+oldvalue.substring(4,6); }else{ returnoldvalue; } }
functionStringToDate(str){ vardatainfo=str.split('-'); returnnewDate(datainfo[0],datainfo[1],datainfo[2]); }