適用于包含中文略吨、英文以及數(shù)字的字段脫敏處理:
/**
* 字段脫敏處理
* @param {String} field 未脫敏字段
* @param {Int} before 開(kāi)頭未脫敏字符數(shù)
* @param {Int} after 結(jié)尾未脫敏字符數(shù)
* @return {String} 已脫敏字段
*/
function sensitiveField(field, before = 3, after = 4) {
if (!field) {
return '';
}
field = String(field);
// 匹配中文、英文、數(shù)字
const regItem = '[\u4e00-\u9fa5a-zA-Z0-9]';
const regExp = `(${regItem}{${before}})${regItem}*(${regItem}{${after}})`;
const reg = new RegExp(regExp);
return field.replace(reg, '$1*****$2');
}