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 {
|
func maskName(name string) string {
|
||||||
if len(name) <= 1 {
|
// 将字符串转换为rune切片以正确处理中文字符
|
||||||
|
runes := []rune(name)
|
||||||
|
length := len(runes)
|
||||||
|
|
||||||
|
if length <= 1 {
|
||||||
return name
|
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)
|
first := string(runes[0])
|
||||||
return first + mask
|
last := string(runes[length-1])
|
||||||
|
mask := strings.Repeat("*", length-2)
|
||||||
|
|
||||||
|
return first + mask + last
|
||||||
}
|
}
|
||||||
|
|
||||||
// 身份证号脱敏
|
// 身份证号脱敏
|
||||||
|
Loading…
Reference in New Issue
Block a user