format.go 817 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. package util
  2. import (
  3. "strconv"
  4. "unicode"
  5. )
  6. func CheckProjectName(projectName string) bool {
  7. return isNameValid(projectName, 3, 32)
  8. }
  9. func CheckTopicName(topicName string) bool {
  10. return isNameValid(topicName, 1, 128)
  11. }
  12. func CheckComment(comment string) bool {
  13. if comment == "" || len(comment) > 1024 {
  14. return false
  15. }
  16. return true
  17. }
  18. func CheckShardId(shardId string) bool {
  19. if _, err := strconv.Atoi(shardId); err != nil {
  20. return false
  21. }
  22. return true
  23. }
  24. func isNameValid(name string, minLen, maxLen int) bool {
  25. if name == "" || len(name) > maxLen || len(name) < minLen {
  26. return false
  27. }
  28. for _, c := range name {
  29. if !unicode.IsLetter(c) && !unicode.IsDigit(c) && c != '_' {
  30. return false
  31. }
  32. }
  33. return true
  34. }