Files
my-spring/web-vue/packages/core/utils/desensitize.ts

44 lines
1.1 KiB
TypeScript
Raw Normal View History

2026-03-22 00:27:15 +08:00
/**
*
*
*/
/**
*
*/
export function desensitizeName(value: string | null | undefined): string {
if (!value || value.length <= 1) return value || ''
return value.charAt(0) + '*'
}
/**
*
*/
export function desensitizePhone(value: string | null | undefined): string {
if (!value || value.length !== 11) return value || ''
return value.replace(/(\d{3})\d{4}(\d{4})/, '$1****$2')
}
/**
*
*/
export function desensitizeIdCard(value: string | null | undefined): string {
if (!value) return ''
return value.replace(/(\d{6})\d{8}(\w{4})/, '$1********$2')
}
/**
*
*/
export function desensitizeBankCard(value: string | null | undefined): string {
if (!value || value.length < 16) return value || ''
return value.replace(/(\d{4})\d{10}(\d{2})/, '$1**********$2')
}
/**
*
*/
export function desensitizeEmail(value: string | null | undefined): string {
if (!value) return ''
return value.replace(/(.)(.*)(@.*)/, '$1***$3')
}