aboutsummaryrefslogtreecommitdiff
path: root/utils
diff options
context:
space:
mode:
Diffstat (limited to 'utils')
-rw-r--r--utils/validate/names.go14
1 files changed, 14 insertions, 0 deletions
diff --git a/utils/validate/names.go b/utils/validate/names.go
new file mode 100644
index 0000000..0d0fd25
--- /dev/null
+++ b/utils/validate/names.go
@@ -0,0 +1,14 @@
+package validate
+
+import "regexp"
+
+var dnsLabelPattern = regexp.MustCompile(`^[a-z0-9]([a-z0-9-]*[a-z0-9])?$`)
+var emailLocalPartPattern = regexp.MustCompile(`^[a-z0-9]([a-z0-9._-]*[a-z0-9])?$`)
+
+func DNSLabel(name string) bool {
+ return len(name) >= 1 && len(name) <= 63 && dnsLabelPattern.MatchString(name)
+}
+
+func EmailLocalPart(localPart string) bool {
+ return len(localPart) >= 1 && len(localPart) <= 64 && emailLocalPartPattern.MatchString(localPart)
+}