前端数据脱敏处理方法
生活随笔
收集整理的這篇文章主要介紹了
前端数据脱敏处理方法
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
數(shù)據(jù)脫敏常用于手機(jī)號、身份證號等敏感信息中
方法一:
/**
* 關(guān)鍵信息隱藏
* @param str 字符串
* @param frontLen 字符串前面保留位數(shù)
* @param endLen 字符串后面保留位數(shù)
* @returns {string}
*/
function hideCode(str, frontLen, endLen) {
var len = str.length - frontLen - endLen;
var xing = '';
for (var i = 0; i < len; i++) {
xing += '*';
}
return str.substring(0, frontLen) + xing + str.substring(str.length - endLen);
};
方法二:
/**
* str:字符串 beginStr:開始位置 endStr:結(jié)束位置;
*/
common.desensitization = function(str,beginStr,endStr){
var len = str.length;
var leftStr = str.substring(0,beginStr);
var rightStr = str.substring(endStr,len);
var str = ''
var i = 0;
try {
for (i = 0; i < endStr-beginStr;i++) {
str = str + '*';
}
} catch (error) {
}
str = leftStr + str + rightStr;
return str;
}
方法三:
function desensitization(str, beginLen, endLen){
var len = str.length;
var firstStr = str.substr(0, beginLen);
var lastStr = str.substr(endLen);
var middleStr = str.substring(beginLen, len-Math.abs(endLen)).replace(/[sS]/ig, '*');
tempStr = firstStr+middleStr+lastStr;
return tempStr;
}
desensitization('12345678901234',4, -4);
方法四:
數(shù)字類型
certificatecodecopy = certificatecode.replace(/^(.{6})(?:d+)(.{4})$/, "$1****$2");
所有類型
enginenocopy = engineno.replace(/^(.{2})(?:w+)(.{1})$/, "$1****$2");
enginenocopy = engineno.replace(/^(.{4})(?:w+)(.{4})$/, "$1****$2");
// vue中使用
<el-table-column
width="200px"
prop="credentialsNum"
label="身份證號碼"
align="center"
>
<template slot-scope="scope">
<p v-if="scope.row.credentialsNum != null && scope.row.credentialsNum != '' ">
{{scope.row.credentialsNum.replace(/^(.{6})(?:d+)(.{4})$/, "$1****$2")}}
</p>
<p v-else>未知</p>
</template>
</el-table-column>
總結(jié)
以上是生活随笔為你收集整理的前端数据脱敏处理方法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 深入了解 Unity 可配置关节 Con
- 下一篇: Service OS maintain