diff options
| author | Bobby <[email protected]> | 2025-06-16 10:15:30 +0530 |
|---|---|---|
| committer | Bobby <[email protected]> | 2025-06-16 10:15:30 +0530 |
| commit | 34c1bbb3955629da4ab4659d70195540b08156f4 (patch) | |
| tree | 8060150f095be80832ffb6b123088b624a174a75 /utils/validators/users.go | |
| parent | 782be699f797011a6e71b345658762f7e2013636 (diff) | |
| download | imageboard-34c1bbb3955629da4ab4659d70195540b08156f4.tar.xz imageboard-34c1bbb3955629da4ab4659d70195540b08156f4.zip | |
added math and validation utils
Diffstat (limited to 'utils/validators/users.go')
| -rw-r--r-- | utils/validators/users.go | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/utils/validators/users.go b/utils/validators/users.go new file mode 100644 index 0000000..70ec34d --- /dev/null +++ b/utils/validators/users.go @@ -0,0 +1,31 @@ +package validators + +import ( + "regexp" + "slices" + "strings" +) + +func IsValidUsername(username string) bool { + match, _ := regexp.MatchString(`^[a-zA-Z0-9_-]+$`, username) + return match +} + +func IsReservedUsername(username string) bool { + reserved := []string{ + "admin", "administrator", "mod", "moderator", "janitor", + "api", "www", "mail", "email", "support", "help", + "about", "contact", "privacy", "terms", "tos", + "null", "undefined", "system", "bot", "guest", + "login", "register", "signup", "signin", "logout", + "profile", "settings", "shifoo", "deleted", + } + + lowerUsername := strings.ToLower(username) + return slices.Contains(reserved, lowerUsername) +} + +func IsValidEmail(email string) bool { + match, _ := regexp.MatchString(`^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$`, email) + return match +} |
