对后端返来的数据进行加密处理

113 阅读1分钟

对身份证 手机号 姓名进行脱敏处理

// 省略证件号
        ellipsisIDCard(idCard) {
            if (!idCard) {
                return '';
            }
            let card = idCard.replace(/(.{6}).*(.{6})/, '$1******$2');
            // console.log(card);
            return card;
        },
        // 省略手机号
        ellipsisPhone(phone) {
            if (!phone) {
                return '';
            }
            let tel = phone.replace(/^(\d{3})\d+(\d{4})$/, '$1****$2');
            // console.log(tel);
            return tel;
        },
        // 省略姓名
        ellipsisName(names) {
            if (!names) {
                return '';
            }
            var newStr;
            if (names.length === 2) {
                newStr = names.substr(0, 1) + '*';
            } else if (names.length > 2) {
                var char = '';
                for (var i = 0, len = names.length - 2; i < len; i++) {
                    char += '*';
                }
                newStr = names.substr(0, 1) + char + names.substr(-1, 1);
            } else {
                newStr = names;
            }
            // let name = names.replace(/(.{1}).*(.{1})/, '$1*$2');
            // let name = names.name.substr(0, 1);
            return newStr;
        },

调用时候

  this.tableData.forEach((item)=>{
       item.xxx = this.ellipsisIDCard(item.xxxx);
       item.xxx = this.ellipsisPhone(item.xxx);
       item.xxx = this.ellipsisName(item.xxxx);
});