lyrics

lyrics
git clone git://brookjeynes.dev/bjeynes/lyrics.git
Log | Files | Refs

regex.go (830B)


      1 package domain
      2 
      3 import "regexp"
      4 
      5 const (
      6 	noTrailingOrLeadingSpacePattern = `\S(.*\S)?`
      7 	validSortNameCharsPattern       = `[a-zA-ZÀ-ÖØ-öø-ÿ0-9 ',.\-&!\(\)]`
      8 	musicBrainzIDPattern            = `[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}`
      9 )
     10 
     11 // Go regexes (server-side validation)
     12 var (
     13 	NoTrailingOrLeadingSpaceRegex = regexp.MustCompile(`^` + noTrailingOrLeadingSpacePattern + `$`)
     14 	IsValidSortNameRegex          = regexp.MustCompile(`^` + validSortNameCharsPattern + `+$`)
     15 	IsValidMusicBrainzIDRegex     = regexp.MustCompile(`^` + musicBrainzIDPattern + `$`)
     16 )
     17 
     18 // HTML pattern (client-side validation with lookahead)
     19 const IsValidSortNamePattern = `(?=^` + noTrailingOrLeadingSpacePattern + `$)` + validSortNameCharsPattern + `+$`
     20 const IsValidMusicBrainzIDPattern = musicBrainzIDPattern