0x01 什么是脱敏
数据脱敏是指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。在涉及客户安全数据或者一些商业性敏感数据的情况下,在不违反系统规则条件下,对真实数据进行改造并提供测试使用,如身份证号、手机号、卡号、客户号等个人信息都需要进行数据脱敏。
一般前端上会进行校验身份证号、手机号发送验证码的时候、或者查看个人信息的时候进行前端的一个保护操作
0x02 实现方法
- jquery代码函数
//数字从第四位至倒数第四位脱敏
function formatNumber(value) {
var val = ''
if (value.length > 0) {
if (value.length > 11)
val = value.substring(0, 4) + '******' + value.substring(value.length - 4);
else if (value.length > 7)
val = value.substring(0, 3) + '******' + value.substring(value.length - 2);
}
return val;
}
//直接调用这个方法即可
function Desensitization(content) {
//正则表达式获得字符串中所有数字相关
var Reg = /(\d{1,3})+(?:\.\d+)?/g
var content_int = content.match(Reg);
if (content_int != null && content_int != "null") {
for (var i = 0; i < content_int.length; i++) {
if (content_int[i].length == 18) //身份证号18位
{
var newIDcard = formatNumber(content_int[i]);
content = content.replace(content_int[i], newIDcard);
}
else if(content_int[i].length == 17) //身份证号13位 (可能包含一位英文字母)
{
var newIDcard = formatNumber(content_int[i]);
content = content.replace(content_int[i], newIDcard);
}
else if (content_int[i].length == 11) //11位手机号码
{
var newPhone = formatNumber(content_int[i]);
content = content.replace(content_int[i], newPhone);
}
else if (content_int[i].length == 8) //8位电话号码
{
var newTel = formatNumber(content_int[i]);
content = content.replace(content_int[i], newTel);
}
else if (content_int[i].length == 12) //带区号电话号码
{
var newCodeTel = formatNumber(content_int[i]);
content = content.replace(content_int[i], newCodeTel);
}
}
}
return content;
}
- 引用
- content _result= Desensitization(delHtmlTag(content));
delHtmlTag 是清除字符串中所有HTML标签的
content 是您要进行处理的字符串
content _result 是处理过后的字符串
- 处理结果
身份证号:23034791X 手机号:188*8888
- delHtmlTag 是清除字符串中所有HTML标签方法
function delHtmlTag(str, length) {
if (IsNullOrEmpty(str)) {
return '';
}
if (IsNullOrEmpty(length)) {
length = 100;
}
return str.replace(/<[^>]+>/g, "").substring(0, length);//去掉所有的html标记
}
这样就可以轻松实现一些数据的脱敏操作、当然还有更多方式、也可以后端处理发送回前端、前端进行展示都可以!
本文为互联网自动采集或经作者授权后发布,本文观点不代表立场,若侵权下架请联系我们删帖处理!文章出自:https://blog.csdn.net/qq_17837497/article/details/106193262?spm=1001.2014.3001.5501