# filter
golang的数据过滤包,由 **数据输入、格式化、校验、输出** 几个部份组成。
- 每个步骤都可以自定义错误消息
- 过滤结果可以自动赋值到变量
- 支持批量操作,**合并错误处理代码**
- 可将过滤规则封装成函数,便于复用
> github.com/dxvgef/filter/v2
## 示例
请参考`example_test.go`的单元测试代码,如需其它帮助请在[Issues](https://github.com/dxvgef/filter/issues)里提出。
## 函数列表
#### 输入
- `FromStr()` 输入字符串类型的数据
#### 格式化
- `Trim()` 去除前后空格
- `RemoveSpace` 去除所有空格
- `ReplaceAll` 替换所有
- `ToUpper` 字母转为大写
- `ToLower` 字母转为小写
- `HTMLEscape` 编码成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` 匹配两个字符串相等
- `MatchLength` 匹配长度
- `MinLength` 最小长度
- `MinUTF8Length` UTF8编码最小长度
- `MaxLength` 最大长度
- `MaxUTF8Length` UTF8编码最大长度
- `MinInteger` 最小整数值
- `MaxInteger` 最大整数值
- `MinFloat` 最小浮点值
- `MaxFloat` 最大浮点值
- `IsBool` 是布尔值
- `IsLower` 是小写字母
- `IsUpper` 是大写字母
- `IsLetter` 是字母
- `IsUnsigned` 是无符号数值
- `IsLowerOrNumber` 是小写字母或数字
- `IsUpperOrNumber` 是大写字母或数字
- `IsLetterOrNumber` 是字母或数字
- `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` 必须包含大写字母
- `HasNumber` 必须包含数字
- `HasSymbol` 必须包含符号
- `HasPrefix` 必须包含指定的前缀字符串
- `HasSuffix` 必须包含指定的后缀字符串
- `HasStr` 必须包含指定的字符串
- `EnumStr` 仅允许[]string中的值
- `EnumInt` 仅允许[]int中的值
- `EnumInt32` 仅允许[]int32中的值
- `EnumInt64` 仅允许[]int64中的值
- `EnumFloat32` 仅允许[]float32中的值
- `EnumFloat64` 仅允许[]float64中的值
- `EnumStrSlice` 将数据转为[]string,并检查其元素是否存在于指定的[]string中
- `EnumIntSlice` 将数据转为[]int,并检查其元素是否存在于指定的[]int中
- `DenyStr` 阻止[]string中的值
- `DenyInt` 阻止[]int中的值
- `DenyInt32` 阻止[]int32中的值
- `DenyInt64` 阻止[]int64中的值
- `DenyFloat32` 阻止[]float32中的值
- `DenyFloat64` 阻止[]float64中的值
- `DenyOtherSymbol` 阻止指定之外的符号
#### 输出
###### 类型转换
- `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`类型
- `Value` 返回当前状态的参数值,主要用于自定义处理函数中获取
- `IsRequire` 判断是否执行了`Require`
###### 自定义处理函数
- `Custom` 自定义处理函数,详见`CustomFunc`类型
没有合适的资源?快使用搜索试试~ 我知道了~
Golang的数据过滤包
共21个文件
go:15个
mod:1个
version:1个
需积分: 5 0 下载量 87 浏览量
2024-08-06
15:56:09
上传
评论
收藏 19KB ZIP 举报
温馨提示
golang的数据过滤包,由 数据输入、格式化、校验、输出 几个部份组成。 每个步骤都可以自定义错误消息 过滤结果可以自动赋值到变量 支持批量操作,合并错误处理代码 可将过滤规则封装成函数,便于复用
资源推荐
资源详情
资源评论
收起资源包目录
filter-master.zip (21个子文件)
filter-master
str_join.go 1KB
go.mod 44B
str_encode.go 4KB
str_deny.go 4KB
str_length.go 1KB
example_test.go 3KB
LICENSE 1KB
str_trim.go 2KB
str_number.go 2KB
common.go 925B
str_set.go 5KB
VERSION 7B
str_convert.go 17KB
from_str.go 2KB
str_is.go 12KB
str_format.go 426B
str_enum.go 5KB
.golangci.yml 5KB
.gitignore 42B
str_has.go 3KB
README.md 6KB
共 21 条
- 1
资源评论
七夜zippoe
- 粉丝: 4894
- 资源: 133
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- C#ASP.NET学生选课成绩管理系统源码数据库 SQL2012源码类型 WebForm
- rime输入法-下载 RIME/中州韻輸入法引擎,是一個跨平臺的輸入法算法框架 基於這一框架,Rime 開發者與其他開源社區的參與者在 Windows、macOS、Linux、Android 等平
- Java实现的离线单机中国象棋游戏.zip
- Animatext - Text Animation System 1.1.0
- Java实现的狼人杀小游戏.zip资源代码
- 工具变量上市公司企业数字化转型指数数据集.xlsx
- All In 1 Sprite Shader 3.711
- JAVA实现的飞机大战小游戏-Asteroids game.zip
- Map and Minimap v1.14
- 2bizbox自动备份
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功