1
0
mirror of https://github.com/duke-git/lancet.git synced 2026-02-04 12:52:28 +08:00

doc: update doc and example for validator

This commit is contained in:
dudaodong
2023-04-06 10:46:31 +08:00
parent c53d541a6b
commit 18f01ffd75
6 changed files with 316 additions and 86 deletions

View File

@@ -1254,7 +1254,7 @@ import "github.com/duke-git/lancet/v2/validator"
[[play](https://go.dev/play/p/LzaKocSV79u)] [[play](https://go.dev/play/p/LzaKocSV79u)]
- **<big>IsJSON</big>** : check if the string is valid JSON. - **<big>IsJSON</big>** : check if the string is valid JSON.
[[doc](https://github.com/duke-git/lancet/blob/main/docs/validator.md#IsJSON)] [[doc](https://github.com/duke-git/lancet/blob/main/docs/validator.md#IsJSON)]
[[play](https://go.dev/play/p/sRS6c4K8jGk)] [[play](https://go.dev/play/p/8Kip1Itjiil)]
- **<big>IsRegexMatch</big>** : check if the string match the regexp. - **<big>IsRegexMatch</big>** : check if the string match the regexp.
[[doc](https://github.com/duke-git/lancet/blob/main/docs/validator.md#IsRegexMatch)] [[doc](https://github.com/duke-git/lancet/blob/main/docs/validator.md#IsRegexMatch)]
[[play](https://go.dev/play/p/z_XeZo_litG)] [[play](https://go.dev/play/p/z_XeZo_litG)]

View File

@@ -1255,7 +1255,7 @@ import "github.com/duke-git/lancet/v2/validator"
[[play](https://go.dev/play/p/LzaKocSV79u)] [[play](https://go.dev/play/p/LzaKocSV79u)]
- **<big>IsJSON</big>** : 验证字符串是否是有效 json。 - **<big>IsJSON</big>** : 验证字符串是否是有效 json。
[[doc](https://github.com/duke-git/lancet/blob/main/docs/validator_zh-CN.md#IsJSON)] [[doc](https://github.com/duke-git/lancet/blob/main/docs/validator_zh-CN.md#IsJSON)]
[[play](https://go.dev/play/p/sRS6c4K8jGk)] [[play](https://go.dev/play/p/8Kip1Itjiil)]
- **<big>IsRegexMatch</big>** : 验证字符串是否可以匹配正则表达式。 - **<big>IsRegexMatch</big>** : 验证字符串是否可以匹配正则表达式。
[[doc](https://github.com/duke-git/lancet/blob/main/docs/validator_zh-CN.md#IsRegexMatch)] [[doc](https://github.com/duke-git/lancet/blob/main/docs/validator_zh-CN.md#IsRegexMatch)]
[[play](https://go.dev/play/p/z_XeZo_litG)] [[play](https://go.dev/play/p/z_XeZo_litG)]

View File

@@ -38,11 +38,14 @@ import (
- [IsDns](#IsDns) - [IsDns](#IsDns)
- [IsEmail](#IsEmail) - [IsEmail](#IsEmail)
- [IsEmptyString](#IsEmptyString) - [IsEmptyString](#IsEmptyString)
- [IsInt](#IsInt)
- [IsFloat](#IsFloat)
- [IsNumber](#IsNumber)
- [IsIntStr](#IsIntStr)
- [IsFloatStr](#IsFloatStr) - [IsFloatStr](#IsFloatStr)
- [IsNumberStr](#IsNumberStr) - [IsNumberStr](#IsNumberStr)
- [IsJSON](#IsJSON) - [IsJSON](#IsJSON)
- [IsRegexMatch](#IsRegexMatch) - [IsRegexMatch](#IsRegexMatch)
- [IsIntStr](#IsIntStr)
- [IsIp](#IsIp) - [IsIp](#IsIp)
- [IsIpV4](#IsIpV4) - [IsIpV4](#IsIpV4)
- [IsIpV6](#IsIpV6) - [IsIpV6](#IsIpV6)
@@ -589,6 +592,154 @@ func main() {
} }
``` ```
### <span id="IsInt">IsInt</span>
<p>Check if the value is integer(int, unit) or not.</p>
<b>Signature:</b>
```go
func IsInt(v any) bool
```
<b>Example:</b>
```go
import (
"fmt"
"github.com/duke-git/lancet/v2/validator"
)
func main() {
result1 := validator.IsInt("")
result2 := validator.IsInt("3")
result3 := validator.IsInt(0.1)
result4 := validator.IsInt(0)
fmt.Println(result1)
fmt.Println(result2)
fmt.Println(result3)
fmt.Println(result4)
// Output:
// false
// false
// false
// true
}
```
### <span id="IsFloat">IsInt</span>
<p>Check if the value is float(float32, float34) or not.</p>
<b>Signature:</b>
```go
func IsFloat(v any) bool
```
<b>Example:</b>
```go
import (
"fmt"
"github.com/duke-git/lancet/v2/validator"
)
func main() {
result1 := validator.IsFloat("")
result2 := validator.IsFloat("3")
result3 := validator.IsFloat(0)
result4 := validator.IsFloat(0.1)
fmt.Println(result1)
fmt.Println(result2)
fmt.Println(result3)
fmt.Println(result4)
// Output:
// false
// false
// false
// true
}
```
### <span id="IsNumber">IsNumber</span>
<p>Check if the value is number(integer, float) or not.</p>
<b>Signature:</b>
```go
func IsNumber(v any) bool
```
<b>Example:</b>
```go
import (
"fmt"
"github.com/duke-git/lancet/v2/validator"
)
func main() {
result1 := validator.IsNumber("")
result2 := validator.IsNumber("3")
result3 := validator.IsNumber(0.1)
result4 := validator.IsNumber(0)
fmt.Println(result1)
fmt.Println(result2)
fmt.Println(result3)
fmt.Println(result4)
// Output:
// false
// false
// true
// true
}
```
### <span id="IsIntStr">IsIntStr</span>
<p>Check if the string can convert to a integer.</p>
<b>Signature:</b>
```go
func IsIntStr(s string) bool
```
<b>Example:</b>
```go
import (
"fmt"
"github.com/duke-git/lancet/v2/validator"
)
func main() {
result1 := validator.IsIntStr("+3")
result2 := validator.IsIntStr("-3")
result3 := validator.IsIntStr("3.")
result4 := validator.IsIntStr("abc")
fmt.Println(result1)
fmt.Println(result2)
fmt.Println(result3)
fmt.Println(result4)
// Output:
// true
// true
// false
// false
}
```
### <span id="IsFloatStr">IsFloatStr</span> ### <span id="IsFloatStr">IsFloatStr</span>
<p>Check if the string can convert to a float.</p> <p>Check if the string can convert to a float.</p>
@@ -684,8 +835,8 @@ import (
func main() { func main() {
result1 := validator.IsJSON("{}") result1 := validator.IsJSON("{}")
result2 := validator.IsJSON("{\"name\": \"test\"}") result2 := validator.IsJSON("{\"name\": \"test\"}")
result3 := validator.IsIntStr("") result3 := validator.IsJSON("")
result4 := validator.IsIntStr("abc") result4 := validator.IsJSON("abc")
fmt.Println(result1) fmt.Println(result1)
fmt.Println(result2) fmt.Println(result2)
@@ -731,43 +882,6 @@ func main() {
} }
``` ```
### <span id="IsIntStr">IsIntStr</span>
<p>Check if the string can convert to a integer.</p>
<b>Signature:</b>
```go
func IsIntStr(s string) bool
```
<b>Example:</b>
```go
import (
"fmt"
"github.com/duke-git/lancet/v2/validator"
)
func main() {
result1 := validator.IsIntStr("+3")
result2 := validator.IsIntStr("-3")
result3 := validator.IsIntStr("3.")
result4 := validator.IsIntStr("abc")
fmt.Println(result1)
fmt.Println(result2)
fmt.Println(result3)
fmt.Println(result4)
// Output:
// true
// true
// false
// false
}
```
### <span id="IsIp">IsIp</span> ### <span id="IsIp">IsIp</span>
<p>Check if the string is a ip address.</p> <p>Check if the string is a ip address.</p>
@@ -1033,7 +1147,6 @@ func main() {
} }
``` ```
### <span id="IsPrintable">IsPrintable</span> ### <span id="IsPrintable">IsPrintable</span>
<p>Checks if string is all printable chars.</p> <p>Checks if string is all printable chars.</p>
@@ -1072,4 +1185,4 @@ func main() {
// true // true
// false // false
} }
``` ```

View File

@@ -38,11 +38,14 @@ import (
- [IsDns](#IsDns) - [IsDns](#IsDns)
- [IsEmail](#IsEmail) - [IsEmail](#IsEmail)
- [IsEmptyString](#IsEmptyString) - [IsEmptyString](#IsEmptyString)
- [IsInt](#IsInt)
- [IsFloat](#IsFloat)
- [IsNumber](#IsNumber)
- [IsIntStr](#IsIntStr)
- [IsFloatStr](#IsFloatStr) - [IsFloatStr](#IsFloatStr)
- [IsNumberStr](#IsNumberStr) - [IsNumberStr](#IsNumberStr)
- [IsJSON](#IsJSON) - [IsJSON](#IsJSON)
- [IsRegexMatch](#IsRegexMatch) - [IsRegexMatch](#IsRegexMatch)
- [IsIntStr](#IsIntStr)
- [IsIp](#IsIp) - [IsIp](#IsIp)
- [IsIpV4](#IsIpV4) - [IsIpV4](#IsIpV4)
- [IsIpV6](#IsIpV6) - [IsIpV6](#IsIpV6)
@@ -589,6 +592,155 @@ func main() {
} }
``` ```
### <span id="IsInt">IsInt</span>
<p>验证参数是否是整数(int, unit)。</p>
<b>函数签名:</b>
```go
func IsInt(v any) bool
```
<b>示例:</b>
```go
import (
"fmt"
"github.com/duke-git/lancet/v2/validator"
)
func main() {
result1 := validator.IsInt("")
result2 := validator.IsInt("3")
result3 := validator.IsInt(0.1)
result4 := validator.IsInt(0)
fmt.Println(result1)
fmt.Println(result2)
fmt.Println(result3)
fmt.Println(result4)
// Output:
// false
// false
// false
// true
}
```
### <span id="IsFloat">IsInt</span>
<p>验证参数是否是浮点数((float32, float34)。</p>
<b>函数签名:</b>
```go
func IsFloat(v any) bool
```
<b>示例:</b>
```go
import (
"fmt"
"github.com/duke-git/lancet/v2/validator"
)
func main() {
result1 := validator.IsFloat("")
result2 := validator.IsFloat("3")
result3 := validator.IsFloat(0)
result4 := validator.IsFloat(0.1)
fmt.Println(result1)
fmt.Println(result2)
fmt.Println(result3)
fmt.Println(result4)
// Output:
// false
// false
// false
// true
}
```
### <span id="IsNumber">IsNumber</span>
<p>验证参数是否是数字(integer or float)</p>
<b>函数签名:</b>
```go
func IsNumber(v any) bool
```
<b>示例:</b>
```go
import (
"fmt"
"github.com/duke-git/lancet/v2/validator"
)
func main() {
result1 := validator.IsNumber("")
result2 := validator.IsNumber("3")
result3 := validator.IsNumber(0.1)
result4 := validator.IsNumber(0)
fmt.Println(result1)
fmt.Println(result2)
fmt.Println(result3)
fmt.Println(result4)
// Output:
// false
// false
// true
// true
}
```
### <span id="IsIntStr">IsIntStr</span>
<p>验证字符串是否是可以转换为整数</p>
<b>函数签名:</b>
```go
func IsIntStr(s string) bool
```
<b>示例:</b>
```go
import (
"fmt"
"github.com/duke-git/lancet/v2/validator"
)
func main() {
result1 := validator.IsIntStr("+3")
result2 := validator.IsIntStr("-3")
result3 := validator.IsIntStr("3.")
result4 := validator.IsIntStr("abc")
fmt.Println(result1)
fmt.Println(result2)
fmt.Println(result3)
fmt.Println(result4)
// Output:
// true
// true
// false
// false
}
```
### <span id="IsFloatStr">IsFloatStr</span> ### <span id="IsFloatStr">IsFloatStr</span>
<p>验证字符串是否是可以转换为浮点数</p> <p>验证字符串是否是可以转换为浮点数</p>
@@ -684,8 +836,8 @@ import (
func main() { func main() {
result1 := validator.IsJSON("{}") result1 := validator.IsJSON("{}")
result2 := validator.IsJSON("{\"name\": \"test\"}") result2 := validator.IsJSON("{\"name\": \"test\"}")
result3 := validator.IsIntStr("") result3 := validator.IsJSON("")
result4 := validator.IsIntStr("abc") result4 := validator.IsJSON("abc")
fmt.Println(result1) fmt.Println(result1)
fmt.Println(result2) fmt.Println(result2)
@@ -731,42 +883,7 @@ func main() {
} }
``` ```
### <span id="IsIntStr">IsIntStr</span>
<p>验证字符串是否是可以转换为整数</p>
<b>函数签名:</b>
```go
func IsIntStr(s string) bool
```
<b>示例:</b>
```go
import (
"fmt"
"github.com/duke-git/lancet/v2/validator"
)
func main() {
result1 := validator.IsIntStr("+3")
result2 := validator.IsIntStr("-3")
result3 := validator.IsIntStr("3.")
result4 := validator.IsIntStr("abc")
fmt.Println(result1)
fmt.Println(result2)
fmt.Println(result3)
fmt.Println(result4)
// Output:
// true
// true
// false
// false
}
```
### <span id="IsIp">IsIp</span> ### <span id="IsIp">IsIp</span>

View File

@@ -112,7 +112,7 @@ func ContainLetter(str string) bool {
} }
// IsJSON checks if the string is valid JSON. // IsJSON checks if the string is valid JSON.
// Play: https://go.dev/play/p/sRS6c4K8jGk // Play: https://go.dev/play/p/8Kip1Itjiil
func IsJSON(str string) bool { func IsJSON(str string) bool {
var js json.RawMessage var js json.RawMessage
return json.Unmarshal([]byte(str), &js) == nil return json.Unmarshal([]byte(str), &js) == nil
@@ -370,7 +370,7 @@ func IsGBK(data []byte) bool {
return true return true
} }
// IsNumberStr check if the value is Number(integer, float) or not. // IsNumberStr check if the value is number(integer, float) or not.
// Play: todo // Play: todo
func IsNumber(v any) bool { func IsNumber(v any) bool {
return IsInt(v) || IsFloat(v) return IsInt(v) || IsFloat(v)

View File

@@ -285,8 +285,8 @@ func ExampleIsIntStr() {
func ExampleIsJSON() { func ExampleIsJSON() {
result1 := IsJSON("{}") result1 := IsJSON("{}")
result2 := IsJSON("{\"name\": \"test\"}") result2 := IsJSON("{\"name\": \"test\"}")
result3 := IsIntStr("") result3 := IsJSON("")
result4 := IsIntStr("abc") result4 := IsJSON("abc")
fmt.Println(result1) fmt.Println(result1)
fmt.Println(result2) fmt.Println(result2)