filter
golang的数据过滤包,由 数据输入、格式化、校验、输出 几个部份组成。
- 每个步骤都可以自定义错误消息
- 过滤结果可以自动赋值到变量
- 支持批量操作,合并错误处理代码
- 可将过滤规则封装成函数,便于复用
github.com/dxvgef/filter/v2
示例
请参考example_test.go
的单元测试代码,如需其它帮助请在Issues里提出。
函数列表
输入
String()
输入字符串类型的数据
格式化
Trim()
去除前后空格RemoveSpace
去除所有空格ReplaceAll
替换所有ToUpper
字母转为大写ToLower
字母转为小写SnakeCaseToCamelCase
蛇形转驼峰: hello_world => helloWorldSnakeCaseToPascalCase
蛇形转帕斯卡: hello_world => HelloWorldCamelCaseToSnakeCase
驼峰(含帕斯卡)转蛇形 helloWorld/HelloWorld => hello_worldHTMLEscape
编码成HTML中显示的字符HTMLUnescape
HTMLEscape的解码函数URLPathEscape
编码成能作为URL路径传输的字符URLPathUnescape
URLPathEscape的解码函数URLQueryEscape
编码成能作为URL查询参数传输的字符URLQueryUnescape
URLQueryEscape的解码函数Base64StdEncode
Base64 std 编码Base64StdDecode
Base64 std 解码Base64RawStdEncode
Base64 raw std 编码Base64RawStdDecode
Base64 raw std 解码Base64URLEncode
Base64 URL 编码Base64URLDecode
Base64 URL 解码Base64RawURLEncode
Base64 raw URL 编码Base64RawURLDecode
Base64 raw URL 解码
校验
Require
参数不能为零值Equal
匹配两个字符串相等MinLength
最小长度MinUTF8Length
UTF8编码最小长度MaxLength
最大长度MaxUTF8Length
UTF8编码最大长度MinInteger
最小整数值MaxInteger
最大整数值MinFloat
最小浮点值MaxFloat
最大浮点值IsBool
是布尔值IsLower
是小写字母IsUpper
是大写字母IsLetter
是字母IsDigit
是数字,不能包含有任何符号或其它字符IsLowerOrDigit
是小写字母或数字IsUpperOrDigit
是大写字母或数字IsLetterOrDigit
是字母或数字IsChinese
是汉字IsMail
是电邮地址IsIP
是IPv4/v6地址IsTCPAddr
是IP:Port格式IsMAC
是MAC地址IsJSON
是有效的JSON格式IsChinaTel
是中国大陆地区固定电话号码IsChinaMobile
是中国大陆地区手机号码IsChinaIDNumber
是中国大陆地区身份证号码IsSQLObject
是SQL对象名(库、表、字段)IsSQLObjects
是SQL对象名集合IsUUID
是UUID格式IsURL
是URL格式HasLetter
必须包含字母HasLower
必须包含小写字母HasUpper
必须包含大写字母HasDigit
必须包含数字HasSymbol
必须包含符号HasPrefix
必须包含指定的前缀字符串HasSuffix
必须包含指定的后缀字符串HasString
必须包含指定的字符串EnumString
仅允许[]string中的值EnumInt
仅允许[]int中的值EnumInt32
仅允许[]int32中的值EnumInt64
仅允许[]int64中的值EnumFloat32
仅允许[]float32中的值EnumFloat64
仅允许[]float64中的值EnumSliceString
将数据转为[]string,并检查其元素是否存在于指定的[]string中EnumSliceInt
将数据转为[]int,并检查其元素是否存在于指定的[]int中DenyString
阻止[]string中的值DenyInt
阻止[]int中的值DenyInt32
阻止[]int32中的值DenyInt64
阻止[]int64中的值DenyFloat32
阻止[]float32中的值DenyFloat64
阻止[]float64中的值
输出
类型转换
String
转为string类型DefaultString
转为string类型,出错则返回默认值SliceString
转为[]string类型DefaultSliceString
转为[]string类型,出错则返回默认值Int
转为int类型DefaultInt
转为int类型,出错则返回默认值SliceInt
转为[]int类型DefaultSliceInt
转为[]int类型,出错则返回默认值Int8
转为int8类型DefaultInt8
转为int8类型,出错则返回默认值SliceInt8
转为[]int8类型DefaultSliceInt8
转为[]int8类型,出错则返回默认值Int16
转为int16类型DefaultInt16
转为int16类型,出错则返回默认值SliceInt16
转为[]int16类型DefaultSliceInt16
转为[]int16类型,出错则返回默认值Int32
转为int32类型DefaultInt32
转为int32类型,出错则返回默认值SliceInt32
转为[]int32类型DefaultSliceInt32
转为[]int32类型,出错则返回默认值Int64
转为int64类型DefaultInt64
转为int64类型,出错则返回默认值SliceInt64
转为[]int64类型DefaultSliceInt64
转为[]int64类型,出错则返回默认值Uint
转为uint类型DefaultUint
转为uint类型,出错则返回默认值SliceUint
转为[]uint类型DefaultSliceUint
转为[]uint类型,出错则返回默认值Uint8
转为uint8类型DefaultUint8
转为uint8类型,出错则返回默认值SliceUint8
转为[]uint8类型DefaultSliceUint8
转为[]uint8类型,出错则返回默认值Uint16
转为uint16类型DefaultUint16
转为uint16类型,出错则返回默认值SliceUint16
转为[]uint16类型DefaultSliceUint16
转为[]uint16类型,出错则返回默认值Uint32
转为uint32类型DefaultUint32
转为uint32类型,出错则返回默认值SliceUint32
转为[]uint32类型DefaultSliceUint32
转为[]uint32类型,出错则返回默认值Uint64
转为uint64类型DefaultUint64
转为uint64类型,出错则返回默认值SliceUint64
转为[]uint64类型DefaultSliceUint64
转为[]uint64类型,出错则返回默认值Float32
转为float32类型DefaultFloat32
转为float32类型,出错则返回默认值SliceFloat32
转为[]float32类型DefaultSliceFloat32
转为[]float32类型,出错则返回默认值Float64
转为float64类型DefaultFloat64
转为float64类型,出错则返回默认值SliceFloat64
转为[]float64类型DefaultSliceFloat64
转为[]float64类型,出错则返回默认值Bool
转为bool类型DefaultBool
转为bool类型,出错则返回默认值
赋值
Set
将过滤结果赋值到普通变量SetSlice
将过滤结果赋值到切片变量
结果
Error`` 过滤结果,返回
error`类型