msgDese.go 1.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051
  1. package utilx
  2. // MaskPhone 手机号脱敏
  3. func MaskPhone(phone string) string {
  4. if len(phone) < 8 {
  5. return "****"
  6. }
  7. return phone[:3] + "****" + phone[7:]
  8. }
  9. // MaskPhone 手机号脱敏-中件替换8个 *
  10. func MaskPhoneEndFront(phone string) string {
  11. if len(phone) == 11 {
  12. return phone[:1] + "********" + phone[10:]
  13. }
  14. if len(phone) < 2 {
  15. return "****"
  16. }
  17. phones := []rune(phone)
  18. str := ""
  19. for i := 0; i < len(phones)-2; i++ {
  20. str = str + "*"
  21. }
  22. return string(phones[0]) + str + string(phones[len(phones)-1])
  23. }
  24. // MaskNameEnd 名称脱敏 保留最后一个字
  25. func MaskNameEnd(name string) string {
  26. runes := []rune(name)
  27. if len(runes) <= 1 {
  28. return "**"
  29. }
  30. str := ""
  31. for i := 0; i < len(runes)-1; i++ {
  32. str = str + "*"
  33. }
  34. return str + string(runes[len(runes)-1])
  35. }
  36. // MaskNameFront 名称脱敏 保留最后一个字
  37. func MaskNameFront(name string) string {
  38. runes := []rune(name)
  39. if len(runes) <= 1 {
  40. return "**"
  41. }
  42. str := ""
  43. for i := 0; i < len(runes)-1; i++ {
  44. str = str + "*"
  45. }
  46. return string(runes[0]) + str
  47. }