22 lines
498 B
Go
22 lines
498 B
Go
|
package handle
|
|||
|
|
|||
|
import (
|
|||
|
"strings"
|
|||
|
"unicode/utf8"
|
|||
|
)
|
|||
|
|
|||
|
// Phone
|
|||
|
// @description: 脱敏规则: 手机号
|
|||
|
// @param src string: 待处理字符串
|
|||
|
// @param placeholder string: 占位符
|
|||
|
// @return dst string: 脱敏后的数据
|
|||
|
func Phone(src, placeholder string) (dst string) {
|
|||
|
// 不足7位,直接返回
|
|||
|
if utf8.RuneCountInString(src) <= 7 {
|
|||
|
return src
|
|||
|
}
|
|||
|
// 取前三位和后四位
|
|||
|
dst = src[:3] + strings.Repeat(placeholder, utf8.RuneCountInString(src)-7) + src[len(src)-4:]
|
|||
|
return
|
|||
|
}
|