什么是脱敏
数据脱敏是指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。在涉及客户安全数据或者一些商业性敏感数据的情况下,在不违反系统规则条件下,对真实数据进行改造并提供测试使用,如身份证号、手机号、卡号、客户号等个人信息都需要进行数据脱敏。
实现方法
//数字从第四位至倒数第四位脱敏
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;
}
引用
var content _result= Desensitization(delHtmlTag(content));
- delHtmlTag 是清除字符串中所有HTML标签的
- content 是您要进行处理的字符串
- content _result 是处理过后的字符串
处理结果
我认为, 3203******4701X总结的来说, 一般来说, 对我个人而言,一天掉多少根头发不仅仅是一个重大的事件,还可能会改变我的人生。 了解清楚一天掉多少根头发到底是一种怎么样的存在,是解决一切问题的关键。 了解清楚一天掉多少根头发到底是一种怎么样的存在,是解决一切问题的关键。 赫尔普斯曾经说过,有时候读书是一种巧妙地避开思考的方法。我希望诸位也能好好地体会这句话。 我们一般认为,抓住了问题的关键,其他一切则会迎刃而解。 就我个人来说,一天掉多少0516******2918根头发对我的意义,不能不说非常重大。 一187******38般来讲,我们都必须务必慎重的考虑833******18考虑。
delHtmlTag 是清除字符串中所有HTML标签方法
function delHtmlTag(str, length) {
if (IsNullOrEmpty(str)) {
return '';
}
if (IsNullOrEmpty(length)) {
length = 100;
}
return str.replace(/<[^>]+>/g, "").substring(0, length);//去掉所有的html标记
}