libString.go 988 B

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. package lib
  2. import (
  3. "math/rand"
  4. "strings"
  5. "time"
  6. )
  7. // #取得随机字符串:通过打乱slice来操作
  8. func GetRandstring(length int, char string, rand_x int64) string {
  9. if length < 1 {
  10. return ""
  11. }
  12. if len(char) <= 6 || len(char) <= length {
  13. char = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
  14. }
  15. charArr := strings.Split(char, "")
  16. ran := rand.New(rand.NewSource(time.Now().Unix() + rand_x))
  17. l := len(charArr)
  18. for i := l - 1; i > 0; i-- {
  19. r := ran.Intn(i)
  20. charArr[r], charArr[i] = charArr[i], charArr[r]
  21. }
  22. rchar := charArr[:length]
  23. return strings.Join(rchar, "")
  24. }
  25. // 检查日期格式
  26. func IsDateStr(date string) bool {
  27. if _, err := time.Parse("2006-01-02", date); err != nil {
  28. return false
  29. }
  30. return true
  31. }
  32. func SplitStringIds(str string, prefix string) (r []string) {
  33. Ids_str := strings.TrimRight(str, "|")
  34. Ids := strings.Split(Ids_str, "|")
  35. for _, v := range Ids {
  36. r = append(r, strings.TrimLeft(v, prefix))
  37. }
  38. return r
  39. }