姓名脱敏:
2位到5位以上的不同处理:
filters: {
hideInsurantName (val) {
if (!val || val === '') return ''
let name = ''
if (val.length === 2) {
name = val.substring(0, 1) + '*' // 截取name 字符串截取第一个字符,
} else if (val.length === 3) {
name = val.substring(0, 1) + '*' + val.substring(2, 3) // 截取第一个和第三个字符
} else if (val.length === 4) {
name = val.substring(0, 2) + '*' + '*' // 4个字隐藏后面两个
} else if (val.length > 4) {
name = val.substring(0, 1) // 5个字只显示第一个字
for (let i = 0; i < val.length - 1; i++) {
name = name + '*'
}
}
return name
}
},
使用方式:
<p class="orange txt-20 bold">{{name | hideInsurantName}}</p>
手机号脱敏:
judgePhone (val) {
if (!val) return ''
let reg = /^(.{3}).*(.{4})$/
return val.replace(reg, '$1****$2')
}
数字以千分位的形式展示:
num: (value) => {
if (!value) return '0.00'
// 将数值截取,保留两位小数
value = value.toFixed(2)
// 获取整数部分
const intPart = Math.trunc(value)
// 整数部分处理,增加,
const intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')
// 预定义小数部分
let floatPart = '.00'
// 将数值截取为小数部分和整数部分
const valueArray = value.toString().split('.')
if (valueArray.length === 2) { // 有小数部分
floatPart = valueArray[1].toString() // 取得小数部分
// console.log('如果有小数,返回---', intPartFormat + '.' + floatPart)
return intPartFormat
}
// console.log('如果有小数,返回111---', intPartFormat + '.' + floatPart)
return intPartFormat
},
身份证号脱敏:
judgeCard (val) {
if (!val) return ''
let reg = /^(.{3}).*(.{2})$/
return val.replace(reg, '$1*************$2')
},
网友评论