0
点赞
收藏
分享

微信扫一扫

#yyds干货盘点#前端数据脱敏展示

最近做项目的时候,要对外提供账号,以便其他人员登录使用,但这里有个敏感问题,就是数据安全。处理数据安全的方式很多,比如禁止下载,添加水印。还有一些包括人员身份证号,手机号需要脱敏处理。


手机号码脱敏

// 脱敏展示
desensitization(str, beginstr, endstr) {
const header = str.substr(0, beginstr)
// subStr的用法是,从第几个字符开始,故而endStr用负数代替,从后往前第几位,一直到结尾
const footer = str.substr(endstr)
// Math.abs将负数变更为正整数,enstr代表从后往前数几位数
// /[\s\S]/ig 正则表示全文数替换
const content = str.substring(beginstr, str.length - Math.abs(endstr)).replace(/[\s\S]/ig, '*')
const templatestr = header + content + footer
return templatestr
}

使用方法 this.desensitization(12345678, 3, -3) 输出内容 123*****678


身份证号脱敏

var _idcard = "411425199810328466";
_idcard.replace(/^(.{6})(?:\d+)(.{4})$/, "\$1****\$2")

得到的结果是:411425****8466

前边的6就是左边显示多少位,后边的4就是右边显示多少位,$1和$2之间 是脱敏后中间要显示的星号*的个数。


举报

相关推荐

0 条评论