39 lines
804 B
Go
39 lines
804 B
Go
|
// Package data_mask ...
|
||
|
//
|
||
|
// Description : data_mask ...
|
||
|
//
|
||
|
// Author : go_developer@163.com<白茶清欢>
|
||
|
//
|
||
|
// Date : 2023-05-24 14:52
|
||
|
package data_mask
|
||
|
|
||
|
import "regexp"
|
||
|
|
||
|
// PhoneDataMask ...
|
||
|
//
|
||
|
// Author : go_developer@163.com<白茶清欢>
|
||
|
//
|
||
|
// Date : 14:57 2023/5/24
|
||
|
type PhoneDataMask struct {
|
||
|
}
|
||
|
|
||
|
func (p PhoneDataMask) Mask(input string) string {
|
||
|
// 匹配规则
|
||
|
// ^1第一位为一
|
||
|
// [345789]{1} 后接一位345789 的数字
|
||
|
// \\d \d的转义 表示数字 {9} 接9位
|
||
|
// $ 结束符
|
||
|
regRuler := "^1[345789]{1}\\d{9}$"
|
||
|
// 正则调用规则
|
||
|
reg := regexp.MustCompile(regRuler)
|
||
|
// 返回 MatchString 是否匹配
|
||
|
if !reg.MatchString(input) {
|
||
|
return input
|
||
|
}
|
||
|
return string(input[0:3]) + "******" + string(input[9:11])
|
||
|
}
|
||
|
|
||
|
func (p PhoneDataMask) Type() string {
|
||
|
return TypePhone
|
||
|
}
|