validator

package
v0.6.1 Latest Latest
Warning

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

Go to latest
Published: Feb 28, 2024 License: MIT Imports: 12 Imported by: 0

Documentation

Overview

Package validator 符合 web.filter 的验证器

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Alpha

func Alpha(s string) bool

func And

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

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

func Ascii

func Ascii(s string) bool

func BankCard

func BankCard(val string) bool

BankCard 是否为正确的银行卡号

func Between

func Between[T Number](min, max T) func(T) bool

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

func BetweenEqual

func BetweenEqual[T Number](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 Email

func Email(val string) bool

func EmptyOr added in v0.4.2

func EmptyOr(v func(string) bool) func(string) bool

EmptyOr 空字符串或是非空的情况下满足 v 的条件

func EndWith

func EndWith(suffix string) func(string) bool

func Equal

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

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

func GB11643

func GB11643(val string) bool

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

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

func GB32100

func GB32100(val string) bool

GB32100 统一信用代码校验

func Great

func Great[T Number](num T) func(T) bool

func GreatEqual

func GreatEqual[T Number](num T) func(T) bool

func HTTPStatus added in v0.4.0

func HTTPStatus(s int) bool

HTTPStatus 是否为有效的 HTTP 状态码

func HexColor

func HexColor(val string) bool

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

func IP

func IP(val string) bool

func IP4

func IP4(val string) bool

func IP6

func IP6(val string) bool

func ISBN

func ISBN(val string) bool

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

可以同时判断 ISBN10 和 ISBN13

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 Less

func Less[T Number](num T) func(T) bool

func LessEqual

func LessEqual[T Number](num T) func(T) bool

func Luhn

func Luhn(val string) bool

Luhn 验证 luhn 算法

func Match

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

Match 为正则生成验证函数

func NilOr added in v0.4.2

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

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 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 Zero

func Zero[T any](v T) bool

func ZeroOr added in v0.4.2

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

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

Types

type Number

type Number interface {
	float32 | float64 |
		~int | ~int8 | ~int16 | ~int32 | ~int64 |
		~uint | ~uint8 | ~uint16 | ~uint32 | ~uint64
}

TODO(go1.21): 改为 cmd.Ordered

Jump to

Keyboard shortcuts

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