regex.go 795 B

1234567891011121314151617181920212223242526272829
  1. package controller
  2. import (
  3. "errors"
  4. "regexp"
  5. )
  6. var (
  7. errInvalidExtClientPubKey = errors.New("incorrect ext client public key")
  8. errInvalidExtClientID = errors.New("ext client ID must be alphanumderic and/or dashes and less that 15 chars")
  9. errInvalidExtClientExtraIP = errors.New("ext client extra ip must be a valid cidr")
  10. errInvalidExtClientDNS = errors.New("ext client dns must be a valid ip address")
  11. errDuplicateExtClientName = errors.New("duplicate client name")
  12. )
  13. // allow only dashes and alphaneumeric for ext client and node names
  14. func validName(name string) bool {
  15. reg, err := regexp.Compile("^[a-zA-Z0-9-]+$")
  16. if err != nil {
  17. return false
  18. }
  19. if !reg.MatchString(name) {
  20. return false
  21. }
  22. if len(name) < 5 || len(name) > 32 {
  23. return false
  24. }
  25. return true
  26. }