shortid_generator.go 573 B

123456789101112131415161718192021222324252627282930
  1. package util
  2. import (
  3. "regexp"
  4. "github.com/teris-io/shortid"
  5. )
  6. var allowedChars = shortid.DefaultABC
  7. var validUidPattern = regexp.MustCompile(`^[a-zA-Z0-9\-\_]*$`).MatchString
  8. func init() {
  9. gen, _ := shortid.New(1, allowedChars, 1)
  10. shortid.SetDefault(gen)
  11. }
  12. // IsValidShortUid checks if short unique identifier contains valid characters
  13. func IsValidShortUid(uid string) bool {
  14. if !validUidPattern(uid) {
  15. return false
  16. }
  17. return true
  18. }
  19. // GenerateShortUid generates a short unique identifier.
  20. func GenerateShortUid() string {
  21. return shortid.MustGenerate()
  22. }