// 时间过滤
formatTime = function (now, timestamp) {
var date = new Date(timestamp) if (date.getFullYear() === now.getFullYear()) { if (date.getMonth() === now.getMonth()) { if (date.getDate() === now.getDate()) { return timestamp.getHours() + ':' + timestamp.getMinutes() } else { return timestamp.getDate() +' '+ timestamp.getHours() + ':' + timestamp.getMinutes() } } else { return timestamp.getMonth() + 1 + '-' + timestamp.getDate() } } else { return timestamp.getFullYear() + '-' + (timestamp.getMonth() + 1) + '-' + timestamp.getDate() }
}
formatFullTime = function (timestamp) { var timeObj = new Date(timestamp) return timeObj.getFullYear() + '-' + (timeObj.getMonth() + 1) + timeObj.getDate() }
//过滤掉标签
filText(str){
str = str.replace(/<script[^>]*?>[\s\S]*?<\/script>/ig, ''); //去掉<script>;
str = str.replace(/<style[^>]*?>[\s\S]*?<\/style>/ig, ''); //去掉<style>;
str = str.replace(/<\/?[^>]*>/g, ''); //去除HTML tag
str = str.replace(/[ | ]*\n/g, '\n'); //去除行尾空白
str = str.replace(/\n[\s| | ]*\r/g, '\n'); //去除多余空行
str = str.replace(/(^\s*)|(\s*$)/g, ""); //去掉空格
str = str.replace(/ /ig, ''); //去掉
if(str.length>60) return `${str.subString(0,60)}...`
return str;
},
//数字千分位过滤
numFormat: function(value) {
if(!value) return '0';
var intPart = Number(value).toFixed(0); //获取整数部分
var intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,'); //将整数部分逢三一断
//var floatPart = ".00"; //预定义小数部分
var value2Array = value.split(".");
//=2表示数据有小数位
if(value2Array.length == 2) {
floatPart = value2Array[1].toString(); //拿到小数部分
if(floatPart.length == 1) { //补0,实际上用不着
return intPartFormat + "." + floatPart + '0';
} else {
return intPartFormat + "." + floatPart;
}
} else {
return intPartFormat;
}
}
如果项目中大量使用到某些类型的过滤器可以定义全局过滤器:
filter.js
const vFilter={
numFilter:function (value) {
// 截取当前数据到小数点后两位
let realVal = Number(value).toFixed(2)
return realVal
}
}
export default vFilter
main.js:
import vFilter from '@/assets/js/filter'
//引入对象
for(let key in vFilter) {
Vue.filter(key, vFilter[key])
}
//全局注册过滤器,要在new Vue()之前
使用方法:
<p>{{numa | numFilter}}</p>