//全局注册 过滤器
//大写
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); })