aboutsummaryrefslogtreecommitdiffhomepage
path: root/internal/validate/username.go
blob: 2249cd27d41a5aa8777377263073e8ab0e004ab2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
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)
}