@@ -3,57 +3,61 @@ package validator
33import "regexp"
44
55const (
6- alphaRegexString = "^[a-zA-Z]+$"
7- alphaNumericRegexString = "^[a-zA-Z0-9]+$"
8- numericRegexString = "^[-+]?[0-9]+(?:\\ .[0-9]+)?$"
9- numberRegexString = "^[0-9]+$"
10- hexadecimalRegexString = "^[0-9a-fA-F]+$"
11- hexcolorRegexString = "^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$"
12- rgbRegexString = "^rgb\\ (\\ s*(?:(?:0|[1-9]\\ d?|1\\ d\\ d?|2[0-4]\\ d|25[0-5])\\ s*,\\ s*(?:0|[1-9]\\ d?|1\\ d\\ d?|2[0-4]\\ d|25[0-5])\\ s*,\\ s*(?:0|[1-9]\\ d?|1\\ d\\ d?|2[0-4]\\ d|25[0-5])|(?:0|[1-9]\\ d?|1\\ d\\ d?|2[0-4]\\ d|25[0-5])%\\ s*,\\ s*(?:0|[1-9]\\ d?|1\\ d\\ d?|2[0-4]\\ d|25[0-5])%\\ s*,\\ s*(?:0|[1-9]\\ d?|1\\ d\\ d?|2[0-4]\\ d|25[0-5])%)\\ s*\\ )$"
13- rgbaRegexString = "^rgba\\ (\\ s*(?:(?:0|[1-9]\\ d?|1\\ d\\ d?|2[0-4]\\ d|25[0-5])\\ s*,\\ s*(?:0|[1-9]\\ d?|1\\ d\\ d?|2[0-4]\\ d|25[0-5])\\ s*,\\ s*(?:0|[1-9]\\ d?|1\\ d\\ d?|2[0-4]\\ d|25[0-5])|(?:0|[1-9]\\ d?|1\\ d\\ d?|2[0-4]\\ d|25[0-5])%\\ s*,\\ s*(?:0|[1-9]\\ d?|1\\ d\\ d?|2[0-4]\\ d|25[0-5])%\\ s*,\\ s*(?:0|[1-9]\\ d?|1\\ d\\ d?|2[0-4]\\ d|25[0-5])%)\\ s*,\\ s*(?:(?:0.[1-9]*)|[01])\\ s*\\ )$"
14- hslRegexString = "^hsl\\ (\\ s*(?:0|[1-9]\\ d?|[12]\\ d\\ d|3[0-5]\\ d|360)\\ s*,\\ s*(?:(?:0|[1-9]\\ d?|100)%)\\ s*,\\ s*(?:(?:0|[1-9]\\ d?|100)%)\\ s*\\ )$"
15- hslaRegexString = "^hsla\\ (\\ s*(?:0|[1-9]\\ d?|[12]\\ d\\ d|3[0-5]\\ d|360)\\ s*,\\ s*(?:(?:0|[1-9]\\ d?|100)%)\\ s*,\\ s*(?:(?:0|[1-9]\\ d?|100)%)\\ s*,\\ s*(?:(?:0.[1-9]*)|[01])\\ s*\\ )$"
16- emailRegexString = "^(?:(?:(?:(?:[a-zA-Z]|\\ d|[!#\\ $%&'\\ *\\ +\\ -\\ /=\\ ?\\ ^_`{\\ |}~]|[\\ x{00A0}-\\ x{D7FF}\\ x{F900}-\\ x{FDCF}\\ x{FDF0}-\\ x{FFEF}])+(?:\\ .([a-zA-Z]|\\ d|[!#\\ $%&'\\ *\\ +\\ -\\ /=\\ ?\\ ^_`{\\ |}~]|[\\ x{00A0}-\\ x{D7FF}\\ x{F900}-\\ x{FDCF}\\ x{FDF0}-\\ x{FFEF}])+)*)|(?:(?:\\ x22)(?:(?:(?:(?:\\ x20|\\ x09)*(?:\\ x0d\\ x0a))?(?:\\ x20|\\ x09)+)?(?:(?:[\\ x01-\\ x08\\ x0b\\ x0c\\ x0e-\\ x1f\\ x7f]|\\ x21|[\\ x23-\\ x5b]|[\\ x5d-\\ x7e]|[\\ x{00A0}-\\ x{D7FF}\\ x{F900}-\\ x{FDCF}\\ x{FDF0}-\\ x{FFEF}])|(?:\\ (?:[\\ x01-\\ x09\\ x0b\\ x0c\\ x0d-\\ x7f]|[\\ x{00A0}-\\ x{D7FF}\\ x{F900}-\\ x{FDCF}\\ x{FDF0}-\\ x{FFEF}]))))*(?:(?:(?:\\ x20|\\ x09)*(?:\\ x0d\\ x0a))?(\\ x20|\\ x09)+)?(?:\\ x22)))@(?:(?:(?:[a-zA-Z]|\\ d|[\\ x{00A0}-\\ x{D7FF}\\ x{F900}-\\ x{FDCF}\\ x{FDF0}-\\ x{FFEF}])|(?:(?:[a-zA-Z]|\\ d|[\\ x{00A0}-\\ x{D7FF}\\ x{F900}-\\ x{FDCF}\\ x{FDF0}-\\ x{FFEF}])(?:[a-zA-Z]|\\ d|-|\\ .|_|~|[\\ x{00A0}-\\ x{D7FF}\\ x{F900}-\\ x{FDCF}\\ x{FDF0}-\\ x{FFEF}])*(?:[a-zA-Z]|\\ d|[\\ x{00A0}-\\ x{D7FF}\\ x{F900}-\\ x{FDCF}\\ x{FDF0}-\\ x{FFEF}])))\\ .)+(?:(?:[a-zA-Z]|[\\ x{00A0}-\\ x{D7FF}\\ x{F900}-\\ x{FDCF}\\ x{FDF0}-\\ x{FFEF}])|(?:(?:[a-zA-Z]|[\\ x{00A0}-\\ x{D7FF}\\ x{F900}-\\ x{FDCF}\\ x{FDF0}-\\ x{FFEF}])(?:[a-zA-Z]|\\ d|-|\\ .|_|~|[\\ x{00A0}-\\ x{D7FF}\\ x{F900}-\\ x{FDCF}\\ x{FDF0}-\\ x{FFEF}])*(?:[a-zA-Z]|[\\ x{00A0}-\\ x{D7FF}\\ x{F900}-\\ x{FDCF}\\ x{FDF0}-\\ x{FFEF}])))\\ .?$"
17- base64RegexString = "^(?:[A-Za-z0-9+\\ /]{4})*(?:[A-Za-z0-9+\\ /]{2}==|[A-Za-z0-9+\\ /]{3}=|[A-Za-z0-9+\\ /]{4})$"
18- iSBN10RegexString = "^(?:[0-9]{9}X|[0-9]{10})$"
19- iSBN13RegexString = "^(?:(?:97(?:8|9))[0-9]{10})$"
20- uUID3RegexString = "^[0-9a-f]{8}-[0-9a-f]{4}-3[0-9a-f]{3}-[0-9a-f]{4}-[0-9a-f]{12}$"
21- uUID4RegexString = "^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
22- uUID5RegexString = "^[0-9a-f]{8}-[0-9a-f]{4}-5[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
23- uUIDRegexString = "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
24- aSCIIRegexString = "^[\x00 -\x7F ]*$"
25- printableASCIIRegexString = "^[\x20 -\x7E ]*$"
26- multibyteRegexString = "[^\x00 -\x7F ]"
27- dataURIRegexString = "^data:.+\\ /(.+);base64$"
28- latitudeRegexString = "^[-+]?([1-8]?\\ d(\\ .\\ d+)?|90(\\ .0+)?)$"
29- longitudeRegexString = "^[-+]?(180(\\ .0+)?|((1[0-7]\\ d)|([1-9]?\\ d))(\\ .\\ d+)?)$"
30- sSNRegexString = `^\d{3}[- ]?\d{2}[- ]?\d{4}$`
6+ alphaRegexString = "^[a-zA-Z]+$"
7+ alphaNumericRegexString = "^[a-zA-Z0-9]+$"
8+ alphaUnicodeRegexString = "^[\\ p{L}]+$"
9+ alphaUnicodeNumericRegexString = "^[\\ p{L}\\ p{N}]+$"
10+ numericRegexString = "^[-+]?[0-9]+(?:\\ .[0-9]+)?$"
11+ numberRegexString = "^[0-9]+$"
12+ hexadecimalRegexString = "^[0-9a-fA-F]+$"
13+ hexcolorRegexString = "^#(?:[0-9a-fA-F]{3}|[0-9a-fA-F]{6})$"
14+ rgbRegexString = "^rgb\\ (\\ s*(?:(?:0|[1-9]\\ d?|1\\ d\\ d?|2[0-4]\\ d|25[0-5])\\ s*,\\ s*(?:0|[1-9]\\ d?|1\\ d\\ d?|2[0-4]\\ d|25[0-5])\\ s*,\\ s*(?:0|[1-9]\\ d?|1\\ d\\ d?|2[0-4]\\ d|25[0-5])|(?:0|[1-9]\\ d?|1\\ d\\ d?|2[0-4]\\ d|25[0-5])%\\ s*,\\ s*(?:0|[1-9]\\ d?|1\\ d\\ d?|2[0-4]\\ d|25[0-5])%\\ s*,\\ s*(?:0|[1-9]\\ d?|1\\ d\\ d?|2[0-4]\\ d|25[0-5])%)\\ s*\\ )$"
15+ rgbaRegexString = "^rgba\\ (\\ s*(?:(?:0|[1-9]\\ d?|1\\ d\\ d?|2[0-4]\\ d|25[0-5])\\ s*,\\ s*(?:0|[1-9]\\ d?|1\\ d\\ d?|2[0-4]\\ d|25[0-5])\\ s*,\\ s*(?:0|[1-9]\\ d?|1\\ d\\ d?|2[0-4]\\ d|25[0-5])|(?:0|[1-9]\\ d?|1\\ d\\ d?|2[0-4]\\ d|25[0-5])%\\ s*,\\ s*(?:0|[1-9]\\ d?|1\\ d\\ d?|2[0-4]\\ d|25[0-5])%\\ s*,\\ s*(?:0|[1-9]\\ d?|1\\ d\\ d?|2[0-4]\\ d|25[0-5])%)\\ s*,\\ s*(?:(?:0.[1-9]*)|[01])\\ s*\\ )$"
16+ hslRegexString = "^hsl\\ (\\ s*(?:0|[1-9]\\ d?|[12]\\ d\\ d|3[0-5]\\ d|360)\\ s*,\\ s*(?:(?:0|[1-9]\\ d?|100)%)\\ s*,\\ s*(?:(?:0|[1-9]\\ d?|100)%)\\ s*\\ )$"
17+ hslaRegexString = "^hsla\\ (\\ s*(?:0|[1-9]\\ d?|[12]\\ d\\ d|3[0-5]\\ d|360)\\ s*,\\ s*(?:(?:0|[1-9]\\ d?|100)%)\\ s*,\\ s*(?:(?:0|[1-9]\\ d?|100)%)\\ s*,\\ s*(?:(?:0.[1-9]*)|[01])\\ s*\\ )$"
18+ emailRegexString = "^(?:(?:(?:(?:[a-zA-Z]|\\ d|[!#\\ $%&'\\ *\\ +\\ -\\ /=\\ ?\\ ^_`{\\ |}~]|[\\ x{00A0}-\\ x{D7FF}\\ x{F900}-\\ x{FDCF}\\ x{FDF0}-\\ x{FFEF}])+(?:\\ .([a-zA-Z]|\\ d|[!#\\ $%&'\\ *\\ +\\ -\\ /=\\ ?\\ ^_`{\\ |}~]|[\\ x{00A0}-\\ x{D7FF}\\ x{F900}-\\ x{FDCF}\\ x{FDF0}-\\ x{FFEF}])+)*)|(?:(?:\\ x22)(?:(?:(?:(?:\\ x20|\\ x09)*(?:\\ x0d\\ x0a))?(?:\\ x20|\\ x09)+)?(?:(?:[\\ x01-\\ x08\\ x0b\\ x0c\\ x0e-\\ x1f\\ x7f]|\\ x21|[\\ x23-\\ x5b]|[\\ x5d-\\ x7e]|[\\ x{00A0}-\\ x{D7FF}\\ x{F900}-\\ x{FDCF}\\ x{FDF0}-\\ x{FFEF}])|(?:\\ (?:[\\ x01-\\ x09\\ x0b\\ x0c\\ x0d-\\ x7f]|[\\ x{00A0}-\\ x{D7FF}\\ x{F900}-\\ x{FDCF}\\ x{FDF0}-\\ x{FFEF}]))))*(?:(?:(?:\\ x20|\\ x09)*(?:\\ x0d\\ x0a))?(\\ x20|\\ x09)+)?(?:\\ x22)))@(?:(?:(?:[a-zA-Z]|\\ d|[\\ x{00A0}-\\ x{D7FF}\\ x{F900}-\\ x{FDCF}\\ x{FDF0}-\\ x{FFEF}])|(?:(?:[a-zA-Z]|\\ d|[\\ x{00A0}-\\ x{D7FF}\\ x{F900}-\\ x{FDCF}\\ x{FDF0}-\\ x{FFEF}])(?:[a-zA-Z]|\\ d|-|\\ .|_|~|[\\ x{00A0}-\\ x{D7FF}\\ x{F900}-\\ x{FDCF}\\ x{FDF0}-\\ x{FFEF}])*(?:[a-zA-Z]|\\ d|[\\ x{00A0}-\\ x{D7FF}\\ x{F900}-\\ x{FDCF}\\ x{FDF0}-\\ x{FFEF}])))\\ .)+(?:(?:[a-zA-Z]|[\\ x{00A0}-\\ x{D7FF}\\ x{F900}-\\ x{FDCF}\\ x{FDF0}-\\ x{FFEF}])|(?:(?:[a-zA-Z]|[\\ x{00A0}-\\ x{D7FF}\\ x{F900}-\\ x{FDCF}\\ x{FDF0}-\\ x{FFEF}])(?:[a-zA-Z]|\\ d|-|\\ .|_|~|[\\ x{00A0}-\\ x{D7FF}\\ x{F900}-\\ x{FDCF}\\ x{FDF0}-\\ x{FFEF}])*(?:[a-zA-Z]|[\\ x{00A0}-\\ x{D7FF}\\ x{F900}-\\ x{FDCF}\\ x{FDF0}-\\ x{FFEF}])))\\ .?$"
19+ base64RegexString = "^(?:[A-Za-z0-9+\\ /]{4})*(?:[A-Za-z0-9+\\ /]{2}==|[A-Za-z0-9+\\ /]{3}=|[A-Za-z0-9+\\ /]{4})$"
20+ iSBN10RegexString = "^(?:[0-9]{9}X|[0-9]{10})$"
21+ iSBN13RegexString = "^(?:(?:97(?:8|9))[0-9]{10})$"
22+ uUID3RegexString = "^[0-9a-f]{8}-[0-9a-f]{4}-3[0-9a-f]{3}-[0-9a-f]{4}-[0-9a-f]{12}$"
23+ uUID4RegexString = "^[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
24+ uUID5RegexString = "^[0-9a-f]{8}-[0-9a-f]{4}-5[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$"
25+ uUIDRegexString = "^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"
26+ aSCIIRegexString = "^[\x00 -\x7F ]*$"
27+ printableASCIIRegexString = "^[\x20 -\x7E ]*$"
28+ multibyteRegexString = "[^\x00 -\x7F ]"
29+ dataURIRegexString = "^data:.+\\ /(.+);base64$"
30+ latitudeRegexString = "^[-+]?([1-8]?\\ d(\\ .\\ d+)?|90(\\ .0+)?)$"
31+ longitudeRegexString = "^[-+]?(180(\\ .0+)?|((1[0-7]\\ d)|([1-9]?\\ d))(\\ .\\ d+)?)$"
32+ sSNRegexString = `^\d{3}[- ]?\d{2}[- ]?\d{4}$`
3133)
3234
3335var (
34- alphaRegex = regexp .MustCompile (alphaRegexString )
35- alphaNumericRegex = regexp .MustCompile (alphaNumericRegexString )
36- numericRegex = regexp .MustCompile (numericRegexString )
37- numberRegex = regexp .MustCompile (numberRegexString )
38- hexadecimalRegex = regexp .MustCompile (hexadecimalRegexString )
39- hexcolorRegex = regexp .MustCompile (hexcolorRegexString )
40- rgbRegex = regexp .MustCompile (rgbRegexString )
41- rgbaRegex = regexp .MustCompile (rgbaRegexString )
42- hslRegex = regexp .MustCompile (hslRegexString )
43- hslaRegex = regexp .MustCompile (hslaRegexString )
44- emailRegex = regexp .MustCompile (emailRegexString )
45- base64Regex = regexp .MustCompile (base64RegexString )
46- iSBN10Regex = regexp .MustCompile (iSBN10RegexString )
47- iSBN13Regex = regexp .MustCompile (iSBN13RegexString )
48- uUID3Regex = regexp .MustCompile (uUID3RegexString )
49- uUID4Regex = regexp .MustCompile (uUID4RegexString )
50- uUID5Regex = regexp .MustCompile (uUID5RegexString )
51- uUIDRegex = regexp .MustCompile (uUIDRegexString )
52- aSCIIRegex = regexp .MustCompile (aSCIIRegexString )
53- printableASCIIRegex = regexp .MustCompile (printableASCIIRegexString )
54- multibyteRegex = regexp .MustCompile (multibyteRegexString )
55- dataURIRegex = regexp .MustCompile (dataURIRegexString )
56- latitudeRegex = regexp .MustCompile (latitudeRegexString )
57- longitudeRegex = regexp .MustCompile (longitudeRegexString )
58- sSNRegex = regexp .MustCompile (sSNRegexString )
36+ alphaRegex = regexp .MustCompile (alphaRegexString )
37+ alphaNumericRegex = regexp .MustCompile (alphaNumericRegexString )
38+ alphaUnicodeRegex = regexp .MustCompile (alphaUnicodeRegexString )
39+ alphaUnicodeNumericRegex = regexp .MustCompile (alphaUnicodeNumericRegexString )
40+ numericRegex = regexp .MustCompile (numericRegexString )
41+ numberRegex = regexp .MustCompile (numberRegexString )
42+ hexadecimalRegex = regexp .MustCompile (hexadecimalRegexString )
43+ hexcolorRegex = regexp .MustCompile (hexcolorRegexString )
44+ rgbRegex = regexp .MustCompile (rgbRegexString )
45+ rgbaRegex = regexp .MustCompile (rgbaRegexString )
46+ hslRegex = regexp .MustCompile (hslRegexString )
47+ hslaRegex = regexp .MustCompile (hslaRegexString )
48+ emailRegex = regexp .MustCompile (emailRegexString )
49+ base64Regex = regexp .MustCompile (base64RegexString )
50+ iSBN10Regex = regexp .MustCompile (iSBN10RegexString )
51+ iSBN13Regex = regexp .MustCompile (iSBN13RegexString )
52+ uUID3Regex = regexp .MustCompile (uUID3RegexString )
53+ uUID4Regex = regexp .MustCompile (uUID4RegexString )
54+ uUID5Regex = regexp .MustCompile (uUID5RegexString )
55+ uUIDRegex = regexp .MustCompile (uUIDRegexString )
56+ aSCIIRegex = regexp .MustCompile (aSCIIRegexString )
57+ printableASCIIRegex = regexp .MustCompile (printableASCIIRegexString )
58+ multibyteRegex = regexp .MustCompile (multibyteRegexString )
59+ dataURIRegex = regexp .MustCompile (dataURIRegexString )
60+ latitudeRegex = regexp .MustCompile (latitudeRegexString )
61+ longitudeRegex = regexp .MustCompile (longitudeRegexString )
62+ sSNRegex = regexp .MustCompile (sSNRegexString )
5963)
0 commit comments