自己用到的过滤器函数,名字星号,电话号码星号,身份证星号,时间格式,

工作的时候用到的记录一下,以后继续更新
1、身份证部分隐藏
idnumfilter (value) { // 身份证星号
    if (value) {
        let val = value.replace(/(.{6}).*(.{4})/,"$1******$2")
        return val
    } else {
        return ''
    }
}
2、电话号码部分隐藏
phonefilter (value) { // 号码星号
    if (value) {
        let val = value.replace(/(.{3}).*(.{4})/,"$1****$2")
        return val
    } else {
        return ''
    }
}
3、名字部分隐藏
namefiletr (value) { // 名字星号
    if (value.length === 2) {
        let val = value.replace(/(.{1}).*(.{0})/,"$1*$2")
        return val
    } else if (value.length > 2) {
        let val = value.replace(/(.{1}).*(.{1})/,"$1*$2")
        return val
    }
}
4、字符串去空格
blankfiletr (value) { // 去空格
    let val = value.replace(/\s/g,'')
    return val
}
5、毫秒和秒转时间格式
formatSeconds (value) {
    var offset = parseInt(value);// 单位为秒
    var offset = parseInt(value/1000);// 单位为毫秒
    var secLeft = offset%60;
    var minLeft = Math.floor(offset/60)%60;
    var hourLeft = Math.floor(offset/60/60)%24;
    var dayLeft = Math.floor(offset/60/60/24);
    var min = minLeft
    var hour = hourLeft
    var day = dayLeft
    // 补0操作
    secLeft = (secLeft<10 ? '0' : '') + secLeft;
    minLeft = (minLeft<10 ? '0' : '') + minLeft;
    hourLeft = (hourLeft<10 ? '0' : '') + hourLeft;

    // )拼接时间格式,返回值
    let result 
    if (min <= 0 && hour <= 0 && day <= 0) {
        result = '00'  + ':' + secLeft ;
    } else if (min > 0 && hour <= 0 && day <= 0) {
        result = minLeft + ':' + secLeft ;
    } else if (min > 0 && hour > 0 && day <= 0) {
        result = hourLeft + ':' + minLeft + ':' + secLeft ;
    } else {
        result = dayLeft + ':' + hourLeft + ':' + minLeft + ':' + secLeft;
    }
    return result;
}
6、两字符串A中包含B相同的字变色
stringcovercolor (value,text) {
    let res = new RegExp("(" +text+ ")",'g');
    value = value.replace(res,"<span style='color:red;'>" + text+"</span>");
    return value;
}
// 调用 value ,text对应stringA,stringB
<div>{{stringA | stringcovercolor(stringB)}}</div>

// 如果是绑定在v-html则这么写,查询资料后的个人见解。
在当前页面中写过滤函数
filters:{
     stringcovercolor(value,text){
     let res = new RegExp("(" +text+ ")",'g');
         value = value.replace(res,"<span style='color:#1E81D2;'>" + text+"</span>");
         return value;
     }
},
data () {
	return {
		text: '卡',
		name: '社保卡换卡'
	}
}
// html
<div class="name" v-html="$options.filters.stringcovercolor(name,text)"></div>

效果图
效果图

7、某时间至今多少天,时间格式:create_time: “2019-04-11 10:58:41”
datedifference (value) {
    var data1,
        diff,
        iDays;
    data1 =Date.parse(value)
    var nowdate = Date.now()
    diff = nowdate - data1
    iDays =  Math.floor(diff / (24 * 3600 * 1000));
    return iDays
},
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值