1package validator 2 3import "regexp" 4 5const ( 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}$` 31) 32 33var ( 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) 59) 60