validator

package
v0.8.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 18, 2024 License: MIT Imports: 21 Imported by: 0

Documentation

Overview

Package validator 符合 web.filter 的验证器

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ASCII

func ASCII(s string) bool

ASCII ASCII 码

func Alpha

func Alpha(s string) bool

Alpha 全部都是英文字符

func And

func And[T any](v ...func(T) bool) func(T) bool

And 以与的形式串联多个验证器函数

func BankCard

func BankCard(val string) bool

BankCard 是否为正确的银行卡号

func Between

func Between[T cmp.Ordered](min, max T) func(T) bool

Between 判断数值区间 (min, max)

func BetweenEqual

func BetweenEqual[T cmp.Ordered](min, max T) func(T) bool

BetweenEqual 判断数值区间 [min, max]

func CNMobile

func CNMobile(val string) bool

CNMobile 验证中国大陆的手机号码

func CNPhone

func CNPhone(val string) bool

CNPhone 验证中国大陆的电话号码

支持如下格式:

0578-12345678-1234
057812345678-1234

若存在分机号,则分机号的连接符不能省略。

func CNTel

func CNTel(val string) bool

CNTel 验证手机和电话类型

func Digit

func Digit(val string) bool

Digit 判断字符串是否都为数字

func Email

func Email(val string) bool

func Empty added in v0.8.0

func Empty(val string) bool

Empty 字符串是否为空

func EndWith

func EndWith(suffix string) func(string) bool

func Equal

func Equal[T comparable](v T) func(T) bool

Equal 生成判断值是否等于 v 的验证器

func FileExists added in v0.8.0

func FileExists(path string) bool

FileExists path 是否存在

func FileExistsFS added in v0.8.0

func FileExistsFS(fsys fs.FS) func(string) bool

FileExistsFS 判断文件是否存在于 fsys

func GB11643

func GB11643(val string) bool

GB11643 判断一个身份证是否符合 gb11643 标准

若是 15 位则当作一代身份证,仅简单地判断各位是否都是数字; 若是 18 位则当作二代身份证,会计算校验位是否正确;

func GB32100

func GB32100(val string) bool

GB32100 统一信用代码校验

func Great

func Great[T cmp.Ordered](num T) func(T) bool

func GreatEqual

func GreatEqual[T cmp.Ordered](num T) func(T) bool

func HTTPStatus

func HTTPStatus(s int) bool

HTTPStatus 是否为有效的 HTTP 状态码

func Hex

func Hex(val string) bool

Hex 是否符合 16 进制数字

func HexColor

func HexColor(val string) bool

HexColor 判断一个字符串是否为合法的 16 进制颜色表示法

func IP

func IP(val string) bool

IP 判断是否 IP 地址

同时支持 IP4IP6

func IP4

func IP4(val string) bool

func IP6

func IP6(val string) bool

func ISBN

func ISBN(val string) bool

ISBN 判断是否为合法的 ISBN 串号

可以同时判断 ISBN10ISBN13

func ISBN10

func ISBN10(val string) bool

func ISBN13

func ISBN13(val string) bool

func In

func In[T comparable](element ...T) func(T) bool

In 声明枚举类型的验证规则

要求验证的值必须包含在 element 元素中,如果不存在,则返回 msg 的内容。

func IsDir added in v0.8.0

func IsDir(path string) bool

IsDir path 是否为一个目录

func IsDirFS added in v0.8.0

func IsDirFS(fsys fs.FS) func(string) bool

IsDirFS 判断 fsys 中的 path 是否为目录

func JSON

func JSON(val []byte) bool

JSON 验证是否为正确的 JSON 内容

func Less

func Less[T cmp.Ordered](num T) func(T) bool

func LessEqual

func LessEqual[T cmp.Ordered](num T) func(T) bool

func Luhn

func Luhn(val string) bool

Luhn 验证 luhn 算法

func MV

func MV[M ~map[K]V, K comparable, V any](v func(V) bool, msg web.LocaleStringer) filter.Rule[M]

MV 同 filter.MV

func Match

func Match(exp *regexp.Regexp) func(string) bool

Match 为正则生成验证函数

func Nil added in v0.8.0

func Nil[T any](v T) bool

Nil 是否为 nil

func Not

func Not[T any](v func(T) bool) func(T) bool

Not 验证器的取反

func NotIn

func NotIn[T comparable](element ...T) func(T) bool

NotIn 声明不在枚举中的验证规则

func Or

func Or[T any](v ...func(T) bool) func(T) bool

Or 以或的形式并联多个验证器函数

func SV

func SV[S ~[]T, T any](v func(T) bool, msg web.LocaleStringer) filter.Rule[S]

SV 同 filter.SV

func Semver

func Semver(ver string) bool

Semver semver 版本号验证

func SemverCompatible

func SemverCompatible(ver string) func(string) bool

SemverCompatible 创建一个验证 [semver] 是否兼容 val 的验证器

func SemverGreat

func SemverGreat(ver string) func(string) bool

SemverGreat 判断版本号是否大于 ver

func SemverGreatEqual

func SemverGreatEqual(ver string) func(string) bool

func SemverLess

func SemverLess(ver string) func(string) bool

func SemverLessEqual

func SemverLessEqual(ver string) func(string) bool

func StartWith

func StartWith(prefix string) func(string) bool

func Strength

func Strength(length, upper, lower, punct int) func(string) bool

Strength 声明密码强度的验证对象

length 对长度的最小要求; upper 对大写字符的最小要求; lower 对小写字符的最小要求; punct 对符号的最小要求;

func URL

func URL(val string) bool

func UUID

func UUID(val string) bool

UUID 验证 UUID 格式是否正确

func V

func V[T any](v func(T) bool, msg web.LocaleStringer) filter.Rule[T]

V 同 filter.V

func Zero

func Zero[T any](v T) bool

Zero 是否为零值

采用 reflect.Value.IsZero 判断。

func ZeroOr

func ZeroOr[T comparable](v func(T) bool) func(T) bool

ZeroOr 判断值为零值或是非零情况下符合 v 的要求

Types

This section is empty.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL