vue 常用过滤器

 

文字长度过滤,超过5个字 ...

ellipsis5 (value) {

if (!value) return ''

if (value.length > 5) {

return value.slice(0,5) + '...'

}

return value

}

//过滤 年/月/日

export function changeTime(input){

if(input == undefined || input == ''){return}

var d = new Date(Number(input)*1000);

var year = d.getFullYear();

var month = d.getMonth() + 1;

var day = d.getDate() <10 ? '0' + d.getDate() : '' + d.getDate();

var hour = d.getHours();

var minutes = d.getMinutes();

var seconds = d.getSeconds();

return year+ '/' + month + '/' + day

}

过滤/ 年:月:日:时:分:秒

export function changeHour(input2){

if(input2 == undefined || input2 == ''){return}

var d = new Date(Number(input2)*1000);

var year = d.getFullYear();

var month = d.getMonth() + 1;

var day = d.getDate() <10 ? '0' + d.getDate() : '' + d.getDate();

var hour = d.getHours();

var minutes = d.getMinutes();

var seconds = d.getSeconds();

if(minutes < 10){

minutes = "0" + minutes;

}

return hour+':'+minutes+':'+seconds

}

//过滤 年-月-日 + 中横线

export function changeTimeLine(input){

if(input == undefined || input == ''){return}

var d = new Date(Number(input)*1000);

var year = d.getFullYear();

var month = d.getMonth() + 1 < 10 ? '0' + (d.getMonth() + 1) : '' + (d.getMonth() + 1);

var day = d.getDate() <10 ? '0' + d.getDate() : '' + d.getDate();

return year + '-' + month + '-' + day

}

//过滤/ 年-月

export function changeTimeLineM(input){

if(input == undefined || input == ''){return}

var d = new Date(Number(input)*1000);

var year = d.getFullYear();

var month = d.getMonth() + 1 < 10 ? '0' + (d.getMonth() + 1) : '' + (d.getMonth() + 1);

var day = d.getDate() <10 ? '0' + d.getDate() : '' + d.getDate();

return year + '-' + month

}

//过滤 月- 日

export function changeTimeWords(input) {

if (input == undefined || input == '') {

return

}

var d = new Date(Number(input) * 1000);

var month = d.getMonth() + 1 < 10 ? '0' + (d.getMonth() + 1) : '' + (d.getMonth() + 1);

var day = d.getDate() < 10 ? '0' + d.getDate() : '' + d.getDate();

return month + '月' + day + '日'

}

//过滤 年- 月- 日

export function changeTimeFull(input) {

if (input == undefined || input == '') {

return

}

var d = new Date(Number(input) * 1000);

var year = d.getFullYear();

var month = d.getMonth() + 1 < 10 ? '0' + (d.getMonth() + 1) : '' + (d.getMonth() + 1);

var day = d.getDate() < 10 ? '0' + d.getDate() : '' + d.getDate();

return year + '年' + month + '月' + day + '日'

}

//过滤/ 年/月 + /

export function changeTimeMonth(input) {

if (input == undefined || input == '') {

return

}

var d = new Date(Number(input) * 1000);

var year = d.getFullYear();

var month = d.getMonth() + 1 < 10 ? '0' + (d.getMonth() + 1) : '' + (d.getMonth() + 1);

var day = d.getDate() < 10 ? '0' + d.getDate() : '' + d.getDate();

return year + '/' + month

}

//去除空格 type 1-所有空格 2-前后空格 3-前空格 4-后空格

function trim(value, trim) {

switch (trim) {

case 1:

return value.replace(/\s+/g, "");

case 2:

return value.replace(/(^\s*)|(\s*$)/g, "");

case 3:

return value.replace(/(^\s*)/g, "");

case 4:

return value.replace(/(\s*$)/g, "");

default:

return value;

}

}

//字母大小写切换

/*type

1:首字母大写

2:首页母小写

3:大小写转换

4:全部大写

5:全部小写

* */

function changeCase(str, type) {

function ToggleCase(str) {

var itemText = ""

str.split("").forEach(

function (item) {

if (/^([a-z]+)/.test(item)) {

itemText += item.toUpperCase();

} else if (/^([A-Z]+)/.test(item)) {

itemText += item.toLowerCase();

} else {

itemText += item;

}

});

return itemText;

}

switch (type) {

case 1:

return str.replace(/\b\w+\b/g, function (word) {

return word.substring(0, 1).toUpperCase() + word.substring(1).toLowerCase();

});

case 2:

return str.replace(/\b\w+\b/g, function (word) {

return word.substring(0, 1).toLowerCase() + word.substring(1).toUpperCase();

});

case 3:

return ToggleCase(str);

case 4:

return str.toUpperCase();

case 5:

return str.toLowerCase();

default:

return str;

}

}

//字符串替换

function replaceAll(str, AFindText, ARepText) {

raRegExp = new RegExp(AFindText, "g");

return str.replace(raRegExp, ARepText);

}

//字符替换*,隐藏手机号或者身份证号等

//replaceStr(字符串,字符格式, 替换方式,替换的字符(默认*))

//ecDo.replaceStr('18819322663',[3,5,3],0)

//result:188*****663

//ecDo.replaceStr('asdasdasdaa',[3,5,3],1)

//result:***asdas***

//ecDo.replaceStr('1asd88465asdwqe3',[5],0)

//result:*****8465asdwqe3

//ecDo.replaceStr('1asd88465asdwqe3',[5],1,'+')

//result:"1asd88465as+++++"

function replaceStr(str, regArr, type, ARepText) {

var regtext = '',

Reg = null,

replaceText = ARepText || '*';

//repeatStr是在上面定义过的(字符串循环复制),大家注意哦

if (regArr.length === 3 && type === 0) {

regtext = '(\\w{' + regArr[0] + '})\\w{' + regArr[1] + '}(\\w{' + regArr[2] + '})'

Reg = new RegExp(regtext);

var replaceCount = this.repeatStr(replaceText, regArr[1]);

return str.replace(Reg, '$1' + replaceCount + '$2')

}

else if (regArr.length === 3 && type === 1) {

regtext = '\\w{' + regArr[0] + '}(\\w{' + regArr[1] + '})\\w{' + regArr[2] + '}'

Reg = new RegExp(regtext);

var replaceCount1 = this.repeatStr(replaceText, regArr[0]);

var replaceCount2 = this.repeatStr(replaceText, regArr[2]);

return str.replace(Reg, replaceCount1 + '$1' + replaceCount2)

}

else if (regArr.length === 1 && type === 0) {

regtext = '(^\\w{' + regArr[0] + '})'

Reg = new RegExp(regtext);

var replaceCount = this.repeatStr(replaceText, regArr[0]);

return str.replace(Reg, replaceCount)

}

else if (regArr.length === 1 && type === 1) {

regtext = '(\\w{' + regArr[0] + '}$)'

Reg = new RegExp(regtext);

var replaceCount = this.repeatStr(replaceText, regArr[0]);

return str.replace(Reg, replaceCount)

}

}

//保留2位小数

function toDecimal2(x){

var f = parseFloat(x);

if (isNaN(f)) {

return false;

}

var f = Math.round(x * 100) / 100;

var s = f.toString();

var rs = s.indexOf('.');

if (rs < 0) {

rs = s.length;

s += '.';

}

while (s.length <= rs + 2) {

s += '0';

}

return s;

}

// 金钱过滤 ¥xx.xx

Vue.filter('moneyFormat', (value) => {

return '¥' + Number(value).toFixed(2);

})

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值