package security import ( "errors" "regexp" "strings" ) var ( reUpper = regexp.MustCompile(`[A-Z]`) reLower = regexp.MustCompile(`[a-z]`) reDigit = regexp.MustCompile(`[0-9]`) reSpecial = regexp.MustCompile(`[^A-Za-z0-9]`) ) func ValidatePassword(pw string) error { pw = strings.TrimSpace(pw) if len(pw) < 8 { return errors.New("Parola en az 8 karakter olmalı") } if !reUpper.MatchString(pw) { return errors.New("Parola en az 1 büyük harf içermeli") } if !reLower.MatchString(pw) { return errors.New("Parola en az 1 küçük harf içermeli") } if !reDigit.MatchString(pw) { return errors.New("Parola en az 1 rakam içermeli") } if !reSpecial.MatchString(pw) { return errors.New("Parola en az 1 özel karakter içermeli") } return nil }