2
0
mirror of https://github.com/acepanel/panel.git synced 2026-02-06 23:37:23 +08:00
Files
panel/internal/http/rule/regexp.go
2024-10-16 04:09:59 +08:00

27 lines
435 B
Go

package rule
import (
"regexp"
"github.com/go-playground/validator/v10"
)
type Regexp struct{}
func NewRegexp() *Regexp {
return &Regexp{}
}
func (r *Regexp) Regexp(fl validator.FieldLevel) bool {
// 从标签中获取正则,格式类似于 `regexp=^[a-zA-Z0-9_]+$`
pattern := fl.Param()
value := fl.Field().String()
re, err := regexp.Compile(pattern)
if err != nil {
return false
}
return re.MatchString(value)
}