fix maskname
This commit is contained in:
parent
95ab1296a8
commit
729eba889d
@ -277,16 +277,25 @@ func containsSensitivePattern(value string) bool {
|
||||
|
||||
// 姓名脱敏
|
||||
func maskName(name string) string {
|
||||
if len(name) <= 1 {
|
||||
// 将字符串转换为rune切片以正确处理中文字符
|
||||
runes := []rune(name)
|
||||
length := len(runes)
|
||||
|
||||
if length <= 1 {
|
||||
return name
|
||||
}
|
||||
if len(name) == 2 {
|
||||
return string(name[0]) + "*"
|
||||
|
||||
if length == 2 {
|
||||
// 两个字:保留第一个字,第二个字用*替代
|
||||
return string(runes[0]) + "*"
|
||||
}
|
||||
// 中文姓名常见3-4个字,只显示第一个字
|
||||
first := string(name[0])
|
||||
mask := strings.Repeat("*", len(name)-1)
|
||||
return first + mask
|
||||
|
||||
// 三个字及以上:保留首尾字,中间用*替代
|
||||
first := string(runes[0])
|
||||
last := string(runes[length-1])
|
||||
mask := strings.Repeat("*", length-2)
|
||||
|
||||
return first + mask + last
|
||||
}
|
||||
|
||||
// 身份证号脱敏
|
||||
|
Loading…
Reference in New Issue
Block a user