Skip to content

Commit 941ce2c

Browse files
author
Dean Karn
authored
Merge pull request #262 from go-playground/unicode-alphas
Add alphaunicode & aplhanumericunicode
2 parents 597f93b + 4d76b0d commit 941ce2c

File tree

5 files changed

+243
-126
lines changed

5 files changed

+243
-126
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ Package validator
22
================
33
<img align="right" src="https://raw.githubusercontent.com/go-playground/validator/v9/logo.png">
44
[![Join the chat at https://gitter.im/go-playground/validator](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/go-playground/validator?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
5-
![Project status](https://img.shields.io/badge/version-9.2.2-green.svg)
5+
![Project status](https://img.shields.io/badge/version-9.3.0-green.svg)
66
[![Build Status](https://semaphoreci.com/api/v1/joeybloggs/validator/branches/v9/badge.svg)](https://semaphoreci.com/joeybloggs/validator)
77
[![Coverage Status](https://coveralls.io/repos/go-playground/validator/badge.svg?branch=v9&service=github)](https://coveralls.io/github/go-playground/validator?branch=v9)
88
[![Go Report Card](https://goreportcard.com/badge/github.com/go-playground/validator)](https://goreportcard.com/report/github.com/go-playground/validator)

baked_in.go

Lines changed: 85 additions & 73 deletions
Original file line numberDiff line numberDiff line change
@@ -40,79 +40,81 @@ var (
4040
// you can add, remove or even replace items to suite your needs,
4141
// or even disregard and use your own map if so desired.
4242
bakedInValidators = map[string]Func{
43-
"required": hasValue,
44-
"len": hasLengthOf,
45-
"min": hasMinOf,
46-
"max": hasMaxOf,
47-
"eq": isEq,
48-
"ne": isNe,
49-
"lt": isLt,
50-
"lte": isLte,
51-
"gt": isGt,
52-
"gte": isGte,
53-
"eqfield": isEqField,
54-
"eqcsfield": isEqCrossStructField,
55-
"necsfield": isNeCrossStructField,
56-
"gtcsfield": isGtCrossStructField,
57-
"gtecsfield": isGteCrossStructField,
58-
"ltcsfield": isLtCrossStructField,
59-
"ltecsfield": isLteCrossStructField,
60-
"nefield": isNeField,
61-
"gtefield": isGteField,
62-
"gtfield": isGtField,
63-
"ltefield": isLteField,
64-
"ltfield": isLtField,
65-
"alpha": isAlpha,
66-
"alphanum": isAlphanum,
67-
"numeric": isNumeric,
68-
"number": isNumber,
69-
"hexadecimal": isHexadecimal,
70-
"hexcolor": isHEXColor,
71-
"rgb": isRGB,
72-
"rgba": isRGBA,
73-
"hsl": isHSL,
74-
"hsla": isHSLA,
75-
"email": isEmail,
76-
"url": isURL,
77-
"uri": isURI,
78-
"base64": isBase64,
79-
"contains": contains,
80-
"containsany": containsAny,
81-
"containsrune": containsRune,
82-
"excludes": excludes,
83-
"excludesall": excludesAll,
84-
"excludesrune": excludesRune,
85-
"isbn": isISBN,
86-
"isbn10": isISBN10,
87-
"isbn13": isISBN13,
88-
"uuid": isUUID,
89-
"uuid3": isUUID3,
90-
"uuid4": isUUID4,
91-
"uuid5": isUUID5,
92-
"ascii": isASCII,
93-
"printascii": isPrintableASCII,
94-
"multibyte": hasMultiByteCharacter,
95-
"datauri": isDataURI,
96-
"latitude": isLatitude,
97-
"longitude": isLongitude,
98-
"ssn": isSSN,
99-
"ipv4": isIPv4,
100-
"ipv6": isIPv6,
101-
"ip": isIP,
102-
"cidrv4": isCIDRv4,
103-
"cidrv6": isCIDRv6,
104-
"cidr": isCIDR,
105-
"tcp4_addr": isTCP4AddrResolvable,
106-
"tcp6_addr": isTCP6AddrResolvable,
107-
"tcp_addr": isTCPAddrResolvable,
108-
"udp4_addr": isUDP4AddrResolvable,
109-
"udp6_addr": isUDP6AddrResolvable,
110-
"udp_addr": isUDPAddrResolvable,
111-
"ip4_addr": isIP4AddrResolvable,
112-
"ip6_addr": isIP6AddrResolvable,
113-
"ip_addr": isIPAddrResolvable,
114-
"unix_addr": isUnixAddrResolvable,
115-
"mac": isMAC,
43+
"required": hasValue,
44+
"len": hasLengthOf,
45+
"min": hasMinOf,
46+
"max": hasMaxOf,
47+
"eq": isEq,
48+
"ne": isNe,
49+
"lt": isLt,
50+
"lte": isLte,
51+
"gt": isGt,
52+
"gte": isGte,
53+
"eqfield": isEqField,
54+
"eqcsfield": isEqCrossStructField,
55+
"necsfield": isNeCrossStructField,
56+
"gtcsfield": isGtCrossStructField,
57+
"gtecsfield": isGteCrossStructField,
58+
"ltcsfield": isLtCrossStructField,
59+
"ltecsfield": isLteCrossStructField,
60+
"nefield": isNeField,
61+
"gtefield": isGteField,
62+
"gtfield": isGtField,
63+
"ltefield": isLteField,
64+
"ltfield": isLtField,
65+
"alpha": isAlpha,
66+
"alphanum": isAlphanum,
67+
"alphaunicode": isAlphaUnicode,
68+
"alphanumunicode": isAlphanumUnicode,
69+
"numeric": isNumeric,
70+
"number": isNumber,
71+
"hexadecimal": isHexadecimal,
72+
"hexcolor": isHEXColor,
73+
"rgb": isRGB,
74+
"rgba": isRGBA,
75+
"hsl": isHSL,
76+
"hsla": isHSLA,
77+
"email": isEmail,
78+
"url": isURL,
79+
"uri": isURI,
80+
"base64": isBase64,
81+
"contains": contains,
82+
"containsany": containsAny,
83+
"containsrune": containsRune,
84+
"excludes": excludes,
85+
"excludesall": excludesAll,
86+
"excludesrune": excludesRune,
87+
"isbn": isISBN,
88+
"isbn10": isISBN10,
89+
"isbn13": isISBN13,
90+
"uuid": isUUID,
91+
"uuid3": isUUID3,
92+
"uuid4": isUUID4,
93+
"uuid5": isUUID5,
94+
"ascii": isASCII,
95+
"printascii": isPrintableASCII,
96+
"multibyte": hasMultiByteCharacter,
97+
"datauri": isDataURI,
98+
"latitude": isLatitude,
99+
"longitude": isLongitude,
100+
"ssn": isSSN,
101+
"ipv4": isIPv4,
102+
"ipv6": isIPv6,
103+
"ip": isIP,
104+
"cidrv4": isCIDRv4,
105+
"cidrv6": isCIDRv6,
106+
"cidr": isCIDR,
107+
"tcp4_addr": isTCP4AddrResolvable,
108+
"tcp6_addr": isTCP6AddrResolvable,
109+
"tcp_addr": isTCPAddrResolvable,
110+
"udp4_addr": isUDP4AddrResolvable,
111+
"udp6_addr": isUDP6AddrResolvable,
112+
"udp_addr": isUDPAddrResolvable,
113+
"ip4_addr": isIP4AddrResolvable,
114+
"ip6_addr": isIP6AddrResolvable,
115+
"ip_addr": isIPAddrResolvable,
116+
"unix_addr": isUnixAddrResolvable,
117+
"mac": isMAC,
116118
}
117119
)
118120

@@ -879,6 +881,16 @@ func isAlpha(fl FieldLevel) bool {
879881
return alphaRegex.MatchString(fl.Field().String())
880882
}
881883

884+
// IsAlphanumUnicode is the validation function for validating if the current field's value is a valid alphanumeric unicode value.
885+
func isAlphanumUnicode(fl FieldLevel) bool {
886+
return alphaUnicodeNumericRegex.MatchString(fl.Field().String())
887+
}
888+
889+
// IsAlphaUnicode is the validation function for validating if the current field's value is a valid alpha unicode value.
890+
func isAlphaUnicode(fl FieldLevel) bool {
891+
return alphaUnicodeRegex.MatchString(fl.Field().String())
892+
}
893+
882894
// HasValue is the validation function for validating if the current field's value is not the default static value.
883895
func hasValue(fl FieldLevel) bool {
884896

doc.go

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -463,16 +463,28 @@ to the top level struct.
463463
464464
Alpha Only
465465
466-
This validates that a string value contains alpha characters only
466+
This validates that a string value contains ASCII alpha characters only
467467
468468
Usage: alpha
469469
470470
Alphanumeric
471471
472-
This validates that a string value contains alphanumeric characters only
472+
This validates that a string value contains ASCII alphanumeric characters only
473473
474474
Usage: alphanum
475475
476+
Alpha Unicode
477+
478+
This validates that a string value contains unicode alpha characters only
479+
480+
Usage: alphaunicode
481+
482+
Alphanumeric Unicode
483+
484+
This validates that a string value contains unicode alphanumeric characters only
485+
486+
Usage: alphanumunicode
487+
476488
Numeric
477489
478490
This validates that a string value contains a basic numeric value.

regexes.go

Lines changed: 54 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -3,57 +3,61 @@ package validator
33
import "regexp"
44

55
const (
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

3335
var (
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

Comments
 (0)