数字格式化:包括金额(带小数),手机号码
/**
* [numFomat 数字格式化(金额,手机号码)]
* @param {string/number} num [金额或手机号码]
* @param {string} type [money: 金额,phone: 手机号码]
* @param {string} sep [分隔符]
* @return {string} [转换后的数值]
*/
function numFomat(num, type, sep) {
var dot;
num += '';
if(num.indexOf('.') > 0){
// 带小数(金额)
dot = num.substr(num.indexOf('.'));
num = num.substr(0, num.indexOf('.'));
}
console.log('num: ',num);
switch (type) {
case 'money':
// 价格格式化
num = num.replace(/(\d)(?=(?:\d{3})+$)/g,'$1' + sep);
if(dot){
num += dot;
}
break;
case 'phone':
console.log('num.length: ',num.length);
// 手机号码
if(num.length != 11){
return '手机号不是11位'
}
num = num.replace(/^(\d{3})(\d{4})(\d{4})/,'$1' + sep + '$2' + sep + '$3');
break;
default:
num = num;
break;
}
return num
}
console.log(numFomat(12111212, 'money', ','));
console.log(numFomat(13112324678, 'phone', ' '));