Files
hakurei/internal/validate/username.go
Ophestra 274686d10d internal/validate: relocate from app
These are free of the dispatcher from internal/app. This change relocates them into their own package.

Signed-off-by: Ophestra <cat@gensokyo.uk>
2025-10-29 03:40:09 +09:00

13 lines
370 B
Go

package validate
import "regexp"
// nameRegex is the default NAME_REGEX value from adduser.
var nameRegex = regexp.MustCompilePOSIX(`^[a-zA-Z][a-zA-Z0-9_-]*\$?$`)
// IsValidUsername returns whether the argument is a valid username.
func IsValidUsername(username string) bool {
return len(username) < Sysconf(SC_LOGIN_NAME_MAX) &&
nameRegex.MatchString(username)
}