HTML5 Color Input Value in GO
Validate the value of an HTML5 `<input type="color">` — exactly 6 hex digits with leading hash.
Try it in the GO tester →Pattern
regexGO
^#[0-9a-fA-F]{6}$Go (RE2) code
goGo
package main
import (
"fmt"
"regexp"
)
func main() {
re := regexp.MustCompile(`^#[0-9a-fA-F]{6}$`)
input := `#ff5733`
for _, match := range re.FindAllString(input, -1) {
fmt.Println(match)
}
}Uses `regexp.MustCompile` (panics on bad patterns at startup) and `FindAllString` for all matches.
How the pattern works
^# requires the leading hash. [0-9a-fA-F]{6} requires exactly 6 hexadecimal digits. $ anchors the end. Note this is STRICTER than the general hex-color pattern: the HTML5 color input only accepts the 6-digit form, not the 3-digit shorthand.
Examples
Input
#ff5733Matches
#ff5733
Input
#0F0F0FMatches
#0F0F0F
Input
#fffNo match
—