姓名脫敏:
2位到5位以上的不同處理:
filters: {
hideInsurantName (val) {
if (!val || val === '') return ''
let name = ''
if (val.length === 2) {
name = val.substring(0, 1) + '*' // 截取name 字符串截取第一個(gè)字符社裆,
} else if (val.length === 3) {
name = val.substring(0, 1) + '*' + val.substring(2, 3) // 截取第一個(gè)和第三個(gè)字符
} else if (val.length === 4) {
name = val.substring(0, 2) + '*' + '*' // 4個(gè)字隱藏后面兩個(gè)
} else if (val.length > 4) {
name = val.substring(0, 1) // 5個(gè)字只顯示第一個(gè)字
for (let i = 0; i < val.length - 1; i++) {
name = name + '*'
}
}
return name
}
},
使用方式:
<p class="orange txt-20 bold">{{name | hideInsurantName}}</p>
手機(jī)號(hào)脫敏:
judgePhone (val) {
if (!val) return ''
let reg = /^(.{3}).*(.{4})$/
return val.replace(reg, '$1****$2')
}
數(shù)字以千分位的形式展示:
num: (value) => {
if (!value) return '0.00'
// 將數(shù)值截取拙绊,保留兩位小數(shù)
value = value.toFixed(2)
// 獲取整數(shù)部分
const intPart = Math.trunc(value)
// 整數(shù)部分處理,增加,
const intPartFormat = intPart.toString().replace(/(\d)(?=(?:\d{3})+$)/g, '$1,')
// 預(yù)定義小數(shù)部分
let floatPart = '.00'
// 將數(shù)值截取為小數(shù)部分和整數(shù)部分
const valueArray = value.toString().split('.')
if (valueArray.length === 2) { // 有小數(shù)部分
floatPart = valueArray[1].toString() // 取得小數(shù)部分
// console.log('如果有小數(shù)泳秀,返回---', intPartFormat + '.' + floatPart)
return intPartFormat
}
// console.log('如果有小數(shù)标沪,返回111---', intPartFormat + '.' + floatPart)
return intPartFormat
},
身份證號(hào)脫敏:
judgeCard (val) {
if (!val) return ''
let reg = /^(.{3}).*(.{2})$/
return val.replace(reg, '$1*************$2')
},