表格数据 脱敏处理
15812345789
显示成如下
158*496
让后台处理。脱敏在前端就是笑话。
update:
虽然反对前端处理,但是碰到SB的老大,不得不服。可以使用正则替换:
// 13012345123 -> 130*****123
replacePhone: function (str) {
if(!str){
return ''
}
return str.replace(/(\d{3})\d{5}(\d{3})/, '$1****$2');
}
使用Vue的过滤器(filters)
我给你直接写了一个例子,你直接复制粘贴到一个HTML文件中打开就能看到效果,希望能帮助到你:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>例子</title>
<script src="https://cdn.jsdelivr.net/npm/vue"></script>
</head>
<body>
<div id="app">
{{ message | protect }}
</div>
<script>
var app = new Vue({
el: '#app',
data: {
message: '15761695277'
},
filters: {
protect: function(value) {
if (!value) {
return ''
}
//对字符串进行截取
//substr(0, 3)表示从0开始取三位
//substr(-3)表示从后面数第三位开始取到最后
// *号随便加 多长都行
return value.substr(0, 3) + "*" + value.substr(-3);
}
}
})
</script>
</body>
</html>
5 回答4.9k 阅读✓ 已解决
4 回答3.2k 阅读✓ 已解决
2 回答4.8k 阅读✓ 已解决
4 回答4.4k 阅读✓ 已解决
4 回答1.9k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
这种问题还是交给后台来做。前端做的都是伪加密。如果非要做的话就是用正则表达式替换了。