//全局注冊 過濾器
//大寫
Vue.filter("upper", (value) => {
if (!value) return "";
return value.toUpperCase();
})
//小寫
Vue.filter("lower", (value) => {
if (!value) return "";
return value.toLowerCase();
})
//時間
Vue.filter("dateFormat", (value, str) => {
//str 參數 規定 年月日之間拼接的符號
if (!value) return "";
str = str || "-"
var date = new Date(value);
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
var hour = date.getHours();
var min = date.getMinutes();
var sec = date.getSeconds();
return `${year}${str}${month}${str}${day} ${hour}:${min}:${sec}`;
})
//余額
Vue.filter("moneyFormat", (value, str) => {
//str 規定 貨幣類型
if (!value) return '0.00';
var value = value.toFixed(2);//提前保留兩位小數
var intPart = Number(value).toFixed(0); // 獲取整數部分
var intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,'); // 將整數部分逢三一斷 ???
var floatPart = '.00'; // 預定義小數部分
value = value.toString();//將number類型轉為字符串類型,方便操作
var value2Array = value.split('.');
if (value2Array.length === 2) { // =2表示數據有小數位
floatPart = value2Array[1].toString(); // 拿到小數部分
if (floatPart.length === 1) { // 補0,實際上用不着
return str+ intPartFormat + '.' + floatPart + '0';
} else {
return str+ intPartFormat + '.' + floatPart;
}
} else {
return str+ intPartFormat + floatPart;
}
})
//電話
Vue.filter("telFormat", (value, str) => {
//參數 str 規定電話之間拼接的符號
if (!value) return "";
str = str || " ";
value = value.toString().split("");
value.splice(3, 0, str);
value.splice(8, 0, str);
return value.join("");
})
//保留 n 位小數
Vue.filter("fixed",(value,n)=>{
if(!value) return "";
n = n || 1;
return value.toFixed(n);
})
未經聯系擅自引用必究。作者:乾唐雲。Email:qiantangyun@foxmail.com
