package com.billion.common.enums; import java.util.function.Function; import com.billion.common.utils.DesensitizedUtil; /** * �掩�靏糸�� * * @author ruoyi */ public enum DesensitizedType { /** * 紮���鐚�膃�2篏����傑�炊�� */ USERNAME(s -> s.replaceAll("(\\S)\\S(\\S*)", "$1*$2")), /** * 絲���鐚������膃��順��*篁f�� */ PASSWORD(DesensitizedUtil::password), /** * 荳�蚕莚�鐚�筝㊨��10篏����傑�炊�� */ ID_CARD(s -> s.replaceAll("(\\d{4})\\d{10}(\\d{3}[Xx]|\\d{4})", "$1** **** ****$2")), /** * ���阪埦�筝㊨��4篏����傑�炊�� */ PHONE(s -> s.replaceAll("(\\d{3})\\d{4}(\\d{4})", "$1****$2")), /** * �球����鐚�篁��丞ず膃��筝��罸���@���∝���医���丞ず鐚��銀����傑�炊�� */ EMAIL(s -> s.replaceAll("(^.)[^@]*(@.*$)", "$1****$2")), /** * �区��≦埦�篆�������4篏�鐚��銀����傑�炊�� */ BANK_CARD(s -> s.replaceAll("\\d{15}(\\d{3})", "**** **** **** **** $1")), /** * 莉����欠��鐚���������莉�����域�醇�莉�� */ CAR_LICENSE(DesensitizedUtil::carLicense); private final Function<String, String> desensitizer; DesensitizedType(Function<String, String> desensitizer) { this.desensitizer = desensitizer; } public Function<String, String> desensitizer() { return desensitizer; } }