go-common/app/interface/main/mcn/tool/validate/validate.go

37 lines
957 B
Go
Raw Normal View History

2019-04-22 10:49:16 +00:00
package validate
import (
"regexp"
"go-common/library/net/http/blademaster/binding"
"gopkg.in/go-playground/validator.v9"
)
var (
//RegIDcheck 检查身份证
RegIDcheck = regexp.MustCompile(`(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X)$)`)
//RegHTTPCheck 检查HTTP格式
RegHTTPCheck = regexp.MustCompile(`^((https|http|ftp|rtsp|mms)?:\/\/)[^\s]+`)
//RegPhoneCheck 检查电话格式
RegPhoneCheck = regexp.MustCompile(`1[345678]\d{9}`)
)
func init() {
binding.Validator.RegisterValidation("idcheck", idcheck)
binding.Validator.RegisterValidation("httpcheck", httpcheck)
binding.Validator.RegisterValidation("phonecheck", phonecheck)
}
func idcheck(fl validator.FieldLevel) bool {
return RegIDcheck.MatchString(fl.Field().String())
}
func httpcheck(fl validator.FieldLevel) bool {
return RegHTTPCheck.MatchString(fl.Field().String())
}
func phonecheck(fl validator.FieldLevel) bool {
return RegPhoneCheck.MatchString(fl.Field().String())
}