diff --git a/docs/validator.md b/docs/validator.md new file mode 100644 index 0000000..f4275f1 --- /dev/null +++ b/docs/validator.md @@ -0,0 +1,799 @@ +# Validator +Package validator contains some functions for data validation. + +
+ +## Source: + +[https://github.com/duke-git/lancet/blob/main/validator/validator.go](https://github.com/duke-git/lancet/blob/main/validator/validator.go) + + +
+ +## Usage: +```go +import ( + "github.com/duke-git/lancet/validator" +) +``` + +
+ +## Index +- [ContainChinese](#ContainChinese) +- [ContainLetter](#ContainLetter) +- [ContainLower](#ContainLower) +- [ContainUpper](#ContainUpper) +- [IsAlpha](#IsAlpha) +- [IsAllUpper](#IsAllUpper) +- [IsAllLower](#IsAllLower) +- [IsBase64](#IsBase64) +- [IsChineseMobile](#IsChineseMobile) +- [IsChineseIdNum](#IsChineseIdNum) +- [IsChinesePhone](#IsChinesePhone) +- [IsCreditCard](#IsCreditCard) +- [IsDns](#IsDns) +- [IsEmail](#IsEmail) + +- [IsEmptyString](#IsEmptyString) +- [IsFloatStr](#IsFloatStr) +- [IsNumberStr](#IsNumberStr) +- [IsJSON](#IsJSON) +- [IsRegexMatch](#IsRegexMatch) +- [IsIntStr](#IsIntStr) +- [IsIp](#IsIp) +- [IsIpV4](#IsIpV4) +- [IsIpV6](#IsIpV6) +- [IsStrongPassword](#IsStrongPassword) +- [IsUrl](#IsUrl) +- [IsWeakPassword](#IsWeakPassword) + + +
+ +## Documentation + + +### ContainChinese +

Check if the string contain mandarin chinese.

+ +Signature: + +```go +func ContainChinese(s string) bool +``` +Example: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + res1 := validator.ContainChinese("你好") + fmt.Println(res1) //true + + res2 := validator.ContainChinese("你好hello") + fmt.Println(res2) //true + + res3 := validator.ContainChinese("hello") + fmt.Println(res3) //false +} +``` + + + +### ContainLetter +

Check if the string contain at least one letter.

+ +Signature: + +```go +func ContainLetter(str string) bool +``` +Example: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + res1 := validator.ContainLetter("1bc") + fmt.Println(res1) //true + + res2 := validator.ContainLetter("123") + fmt.Println(res2) //false + + res3 := validator.ContainLetter("&@#$%^&*") + fmt.Println(res3) //false +} +``` + + + + +### ContainLower +

Check if the string contain at least one lower case letter a-z.

+ +Signature: + +```go +func ContainLower(str string) bool +``` +Example: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + res1 := validator.ContainLower("1bc") + fmt.Println(res1) //true + + res2 := validator.ContainLower("123") + fmt.Println(res2) //false + + res3 := validator.ContainLower("1BC") + fmt.Println(res3) //false +} +``` + + + + +### ContainUpper +

Check if the string contain at least one upper case letter A-Z.

+ +Signature: + +```go +func ContainUpper(str string) bool +``` +Example: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + res1 := validator.ContainUpper("1bc") + fmt.Println(res1) //false + + res2 := validator.ContainUpper("123") + fmt.Println(res2) //false + + res3 := validator.ContainUpper("1BC") + fmt.Println(res3) //true +} +``` + + + + +### IsAlpha +

Check if the string contains only letters (a-zA-Z).

+ +Signature: + +```go +func IsAlpha(s string) bool +``` +Example: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + res1 := validator.IsAlpha("abc") + fmt.Println(res1) //true + + res2 := validator.IsAlpha("1bc") + fmt.Println(res2) //false + + res3 := validator.IsAlpha("") + fmt.Println(res3) //false +} +``` + +### IsAllUpper +

Check if string is all upper case letters A-Z.

+ +Signature: + +```go +func IsAllUpper(str string) bool +``` +Example: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + res1 := validator.IsAllUpper("ABC") + fmt.Println(res1) //true + + res2 := validator.IsAllUpper("aBC") + fmt.Println(res2) //false +} +``` + + + + +### IsAllLower +

Check if string is all lower case letters a-z.

+ +Signature: + +```go +func IsAllLower(str string) bool +``` +Example: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + res1 := validator.IsAllLower("abc") + fmt.Println(res1) //true + + res2 := validator.IsAllLower("abC") + fmt.Println(res2) //false +} +``` + + + + +### IsBase64 +

Check if the string is base64 string.

+ +Signature: + +```go +func IsBase64(base64 string) bool +``` +Example: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + res1 := validator.IsBase64("aGVsbG8=") + fmt.Println(res1) //true + + res2 := validator.IsBase64("123456") + fmt.Println(res2) //false +} +``` + + + + +### IsChineseMobile +

Check if the string is valid chinese mobile number.

+ +Signature: + +```go +func IsChineseMobile(mobileNum string) bool +``` +Example: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + res1 := validator.IsChineseMobile("13263527980") + fmt.Println(res1) //true + + res2 := validator.IsChineseMobile("434324324") + fmt.Println(res2) //false +} +``` + + + +### IsChineseIdNum +

Check if the string is chinese id number.

+ +Signature: + +```go +func IsChineseIdNum(id string) bool +``` +Example: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + res1 := validator.IsChineseIdNum("210911192105130715") + fmt.Println(res1) //true + + res2 := validator.IsChineseIdNum("123456") + fmt.Println(res2) //false +} +``` + + + + +### IsChinesePhone +

Check if the string is chinese phone number.

+ +Signature: + +```go +func IsChinesePhone(phone string) bool +``` +Example: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + res1 := validator.IsChinesePhone("010-32116675") + fmt.Println(res1) //true + + res2 := validator.IsChinesePhone("123-87562") + fmt.Println(res2) //false +} +``` + + + + +### IsCreditCard +

Check if the string is credit card.

+ +Signature: + +```go +func IsCreditCard(creditCart string) bool +``` +Example: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + res1 := validator.IsCreditCard("4111111111111111") + fmt.Println(res1) //true + + res2 := validator.IsCreditCard("123456") + fmt.Println(res2) //false +} +``` + + + + +### IsDns +

Check if the string is valid dns.

+ +Signature: + +```go +func IsDns(dns string) bool +``` +Example: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + res1 := validator.IsDns("abc.com") + fmt.Println(res1) //true + + res2 := validator.IsDns("a.b.com") + fmt.Println(res2) //false + + res3 := validator.IsDns("http://abc.com") + fmt.Println(res3) //false +} +``` + + + + +### IsEmail +

Check if the string is email address.

+ +Signature: + +```go +func IsEmail(email string) bool +``` +Example: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + res1 := validator.IsEmail("abc@xyz.com") + fmt.Println(res1) //true + + res2 := validator.IsEmail("a.b@@com") + fmt.Println(res2) //false +} +``` + + + + + +### IsEmptyString +

Check if the string is empty or not.

+ +Signature: + +```go +func IsEmptyString(s string) bool +``` +Example: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + res1 := validator.IsEmptyString("") + fmt.Println(res1) //true + + res2 := validator.IsEmptyString("abc") + fmt.Println(res2) //false +} +``` + + + + +### IsFloatStr +

Check if the string can convert to a float.

+ +Signature: + +```go +func IsFloatStr(s string) bool +``` +Example: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + fmt.Println(validator.IsFloatStr("")) //false + fmt.Println(validator.IsFloatStr("12a")) //false + fmt.Println(validator.IsFloatStr("3.")) //true + fmt.Println(validator.IsFloatStr("+3.")) //true + fmt.Println(validator.IsFloatStr("-3.")) //true + fmt.Println(validator.IsFloatStr("12")) //true +} +``` + + + + +### IsNumberStr +

Check if the string can convert to a number.

+ +Signature: + +```go +func IsNumberStr(s string) bool +``` +Example: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + fmt.Println(validator.IsNumberStr("")) //false + fmt.Println(validator.IsNumberStr("12a")) //false + fmt.Println(validator.IsNumberStr("3.")) //true + fmt.Println(validator.IsNumberStr("+3.")) //true + fmt.Println(validator.IsNumberStr("-3.")) //true + fmt.Println(validator.IsNumberStr("+3e2")) //true +} +``` + + + + +### IsJSON +

Check if the string is valid JSON.

+ +Signature: + +```go +func IsJSON(str string) bool +``` +Example: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + fmt.Println(validator.IsJSON("")) //false + fmt.Println(validator.IsJSON("abc")) //false + fmt.Println(validator.IsJSON("{}")) //true + fmt.Println(validator.IsJSON("[]")) //true + fmt.Println(validator.IsJSON("123")) //true + fmt.Println(validator.IsJSON("{\"name\": \"test\"}")) //true +} +``` + + + + +### IsRegexMatch +

Check if the string match the regexp.

+ +Signature: + +```go +func IsRegexMatch(s, regex string) bool +``` +Example: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + fmt.Println(validator.IsRegexMatch("abc", `^[a-zA-Z]+$`)) //true + fmt.Println(validator.IsRegexMatch("1ab", `^[a-zA-Z]+$`)) //false + fmt.Println(validator.IsRegexMatch("", `^[a-zA-Z]+$`)) //false +} +``` + + + + +### IsIntStr +

Check if the string can convert to a integer.

+ +Signature: + +```go +func IsIntStr(s string) bool +``` +Example: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + fmt.Println(validator.IsIntStr("+3")) //true + fmt.Println(validator.IsIntStr("-3")) //true + fmt.Println(validator.IsIntStr("3.")) //false + fmt.Println(validator.IsIntStr("abc")) //false +} +``` + + + + +### IsIp +

Check if the string is a ip address.

+ +Signature: + +```go +func IsIp(ipstr string) bool +``` +Example: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + fmt.Println(validator.IsIp("127.0.0.1")) //true + fmt.Println(validator.IsIp("::0:0:0:0:0:0:1")) //true + fmt.Println(validator.IsIp("127.0.0")) //false + fmt.Println(validator.IsIp("127")) //false +} +``` + + + + +### IsIpV4 +

Check if the string is a ipv4 address.

+ +Signature: + +```go +func IsIpV4(ipstr string) bool +``` +Example: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + fmt.Println(validator.IsIpV4("127.0.0.1")) //true + fmt.Println(validator.IsIpV4("::0:0:0:0:0:0:1")) //false + fmt.Println(validator.IsIpV4("127.0.0")) //false + fmt.Println(validator.IsIpV4("127")) //false +} +``` + + + + +### IsIpV6 +

Check if the string is a ipv6 address.

+ +Signature: + +```go +func IsIpV6(ipstr string) bool +``` +Example: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + fmt.Println(validator.IsIpV6("127.0.0.1")) //false + fmt.Println(validator.IsIpV6("::0:0:0:0:0:0:1")) //true + fmt.Println(validator.IsIpV6("127.0.0")) //false + fmt.Println(validator.IsIpV6("127")) //false +} +``` + + + + +### IsStrongPassword +

Check if the string is strong password (alpha(lower+upper) + number + special chars(!@#$%^&*()?><)).

+ +Signature: + +```go +func IsStrongPassword(password string, length int) bool +``` +Example: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + fmt.Println(validator.IsStrongPassword("abc", 3)) //false + fmt.Println(validator.IsStrongPassword("abc123", 6)) //false + fmt.Println(validator.IsStrongPassword("abcABC", 6)) //false + fmt.Println(validator.IsStrongPassword("abcABC123@#$", 16)) //false + fmt.Println(validator.IsStrongPassword("abcABC123@#$", 12)) //true +} +``` + + + + +### IsUrl +

Check if the string is url.

+ +Signature: + +```go +func IsUrl(str string) bool +``` +Example: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + fmt.Println(validator.IsUrl("http://abc.com")) //true + fmt.Println(validator.IsUrl("abc.com")) //true + fmt.Println(validator.IsUrl("a.b.com")) //true + fmt.Println(validator.IsUrl("abc")) //false +} +``` + + + + +### IsWeakPassword +

Check if the string is weak password(only letter or only number or letter + number) +.

+ +Signature: + +```go +func IsWeakPassword(password string, length int) bool +``` +Example: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + fmt.Println(validator.IsWeakPassword("abc")) //true + fmt.Println(validator.IsWeakPassword("123")) //true + fmt.Println(validator.IsWeakPassword("abc123")) //true + fmt.Println(validator.IsWeakPassword("abc123@#$")) //false +} +``` + + + + + + + + + diff --git a/docs/validator_zh-CN.md b/docs/validator_zh-CN.md new file mode 100644 index 0000000..00c5e10 --- /dev/null +++ b/docs/validator_zh-CN.md @@ -0,0 +1,799 @@ +# Validator +validator验证器包,包含常用字符串格式验证函数。 + +
+ +## 源码: + +[https://github.com/duke-git/lancet/blob/main/validator/validator.go](https://github.com/duke-git/lancet/blob/main/validator/validator.go) + + +
+ +## 用法: +```go +import ( + "github.com/duke-git/lancet/validator" +) +``` + +
+ +## 目录: +- [ContainChinese](#ContainChinese) +- [ContainLetter](#ContainLetter) +- [ContainLower](#ContainLower) +- [ContainUpper](#ContainUpper) +- [IsAlpha](#IsAlpha) +- [IsAllUpper](#IsAllUpper) +- [IsAllLower](#IsAllLower) +- [IsBase64](#IsBase64) +- [IsChineseMobile](#IsChineseMobile) +- [IsChineseIdNum](#IsChineseIdNum) +- [IsChinesePhone](#IsChinesePhone) +- [IsCreditCard](#IsCreditCard) +- [IsDns](#IsDns) +- [IsEmail](#IsEmail) + +- [IsEmptyString](#IsEmptyString) +- [IsFloatStr](#IsFloatStr) +- [IsNumberStr](#IsNumberStr) +- [IsJSON](#IsJSON) +- [IsRegexMatch](#IsRegexMatch) +- [IsIntStr](#IsIntStr) +- [IsIp](#IsIp) +- [IsIpV4](#IsIpV4) +- [IsIpV6](#IsIpV6) +- [IsStrongPassword](#IsStrongPassword) +- [IsUrl](#IsUrl) +- [IsWeakPassword](#IsWeakPassword) + + +
+ +## 文档 + + +### ContainChinese +

验证字符串是否包含中文字符

+ +函数签名: + +```go +func ContainChinese(s string) bool +``` +例子: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + res1 := validator.ContainChinese("你好") + fmt.Println(res1) //true + + res2 := validator.ContainChinese("你好hello") + fmt.Println(res2) //true + + res3 := validator.ContainChinese("hello") + fmt.Println(res3) //false +} +``` + + + +### ContainLetter +

验证字符串是否包含至少一个英文字母

+ +函数签名: + +```go +func ContainLetter(str string) bool +``` +例子: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + res1 := validator.ContainLetter("1bc") + fmt.Println(res1) //true + + res2 := validator.ContainLetter("123") + fmt.Println(res2) //false + + res3 := validator.ContainLetter("&@#$%^&*") + fmt.Println(res3) //false +} +``` + + + + +### ContainLower +

验证字符串是否包含至少一个英文小写字母

+ +函数签名: + +```go +func ContainLower(str string) bool +``` +例子: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + res1 := validator.ContainLower("1bc") + fmt.Println(res1) //true + + res2 := validator.ContainLower("123") + fmt.Println(res2) //false + + res3 := validator.ContainLower("1BC") + fmt.Println(res3) //false +} +``` + + + + +### ContainUpper +

验证字符串是否包含至少一个英文大写字母.

+ +函数签名: + +```go +func ContainUpper(str string) bool +``` +例子: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + res1 := validator.ContainUpper("1bc") + fmt.Println(res1) //false + + res2 := validator.ContainUpper("123") + fmt.Println(res2) //false + + res3 := validator.ContainUpper("1BC") + fmt.Println(res3) //true +} +``` + + + + +### IsAlpha +

验证字符串是否只包含英文字母

+ +函数签名: + +```go +func IsAlpha(s string) bool +``` +例子: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + res1 := validator.IsAlpha("abc") + fmt.Println(res1) //true + + res2 := validator.IsAlpha("1bc") + fmt.Println(res2) //false + + res3 := validator.IsAlpha("") + fmt.Println(res3) //false +} +``` + +### IsAllUpper +

验证字符串是否全是大写英文字母

+ +函数签名: + +```go +func IsAllUpper(str string) bool +``` +例子: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + res1 := validator.IsAllUpper("ABC") + fmt.Println(res1) //true + + res2 := validator.IsAllUpper("aBC") + fmt.Println(res2) //false +} +``` + + + + +### IsAllLower +

验证字符串是否全是小写英文字母

+ +函数签名: + +```go +func IsAllLower(str string) bool +``` +例子: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + res1 := validator.IsAllLower("abc") + fmt.Println(res1) //true + + res2 := validator.IsAllLower("abC") + fmt.Println(res2) //false +} +``` + + + + +### IsBase64 +

验证字符串是否是base64编码

+ +函数签名: + +```go +func IsBase64(base64 string) bool +``` +例子: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + res1 := validator.IsBase64("aGVsbG8=") + fmt.Println(res1) //true + + res2 := validator.IsBase64("123456") + fmt.Println(res2) //false +} +``` + + + + +### IsChineseMobile +

验证字符串是否是中国手机号码

+ +函数签名: + +```go +func IsChineseMobile(mobileNum string) bool +``` +例子: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + res1 := validator.IsChineseMobile("13263527980") + fmt.Println(res1) //true + + res2 := validator.IsChineseMobile("434324324") + fmt.Println(res2) //false +} +``` + + + +### IsChineseIdNum +

验证字符串是否是中国身份证号码

+ +函数签名: + +```go +func IsChineseIdNum(id string) bool +``` +例子: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + res1 := validator.IsChineseIdNum("210911192105130715") + fmt.Println(res1) //true + + res2 := validator.IsChineseIdNum("123456") + fmt.Println(res2) //false +} +``` + + + + +### IsChinesePhone +

验证字符串是否是中国电话座机号码

+ +函数签名: + +```go +func IsChinesePhone(phone string) bool +``` +例子: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + res1 := validator.IsChinesePhone("010-32116675") + fmt.Println(res1) //true + + res2 := validator.IsChinesePhone("123-87562") + fmt.Println(res2) //false +} +``` + + + + +### IsCreditCard +

验证字符串是否是信用卡号码

+ +函数签名: + +```go +func IsCreditCard(creditCart string) bool +``` +例子: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + res1 := validator.IsCreditCard("4111111111111111") + fmt.Println(res1) //true + + res2 := validator.IsCreditCard("123456") + fmt.Println(res2) //false +} +``` + + + + +### IsDns +

验证字符串是否是有效dns

+ +函数签名: + +```go +func IsDns(dns string) bool +``` +例子: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + res1 := validator.IsDns("abc.com") + fmt.Println(res1) //true + + res2 := validator.IsDns("a.b.com") + fmt.Println(res2) //false + + res3 := validator.IsDns("http://abc.com") + fmt.Println(res3) //false +} +``` + + + + +### IsEmail +

验证字符串是否是有效电子邮件地址

+ +函数签名: + +```go +func IsEmail(email string) bool +``` +例子: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + res1 := validator.IsEmail("abc@xyz.com") + fmt.Println(res1) //true + + res2 := validator.IsEmail("a.b@@com") + fmt.Println(res2) //false +} +``` + + + + + +### IsEmptyString +

验证字符串是否是空字符串

+ +函数签名: + +```go +func IsEmptyString(s string) bool +``` +例子: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + res1 := validator.IsEmptyString("") + fmt.Println(res1) //true + + res2 := validator.IsEmptyString("abc") + fmt.Println(res2) //false +} +``` + + + + +### IsFloatStr +

验证字符串是否是可以转换为浮点数

+ +函数签名: + +```go +func IsFloatStr(s string) bool +``` +例子: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + fmt.Println(validator.IsFloatStr("")) //false + fmt.Println(validator.IsFloatStr("12a")) //false + fmt.Println(validator.IsFloatStr("3.")) //true + fmt.Println(validator.IsFloatStr("+3.")) //true + fmt.Println(validator.IsFloatStr("-3.")) //true + fmt.Println(validator.IsFloatStr("12")) //true +} +``` + + + + +### IsNumberStr +

验证字符串是否是可以转换为数字

+ +函数签名: + +```go +func IsNumberStr(s string) bool +``` +例子: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + fmt.Println(validator.IsNumberStr("")) //false + fmt.Println(validator.IsNumberStr("12a")) //false + fmt.Println(validator.IsNumberStr("3.")) //true + fmt.Println(validator.IsNumberStr("+3.")) //true + fmt.Println(validator.IsNumberStr("-3.")) //true + fmt.Println(validator.IsNumberStr("+3e2")) //true +} +``` + + + + +### IsJSON +

验证字符串是否是有效json

+ +函数签名: + +```go +func IsJSON(str string) bool +``` +例子: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + fmt.Println(validator.IsJSON("")) //false + fmt.Println(validator.IsJSON("abc")) //false + fmt.Println(validator.IsJSON("{}")) //true + fmt.Println(validator.IsJSON("[]")) //true + fmt.Println(validator.IsJSON("123")) //true + fmt.Println(validator.IsJSON("{\"name\": \"test\"}")) //true +} +``` + + + + +### IsRegexMatch +

验证字符串是否可以匹配正则表达式

+ +函数签名: + +```go +func IsRegexMatch(s, regex string) bool +``` +例子: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + fmt.Println(validator.IsRegexMatch("abc", `^[a-zA-Z]+$`)) //true + fmt.Println(validator.IsRegexMatch("1ab", `^[a-zA-Z]+$`)) //false + fmt.Println(validator.IsRegexMatch("", `^[a-zA-Z]+$`)) //false +} +``` + + + + +### IsIntStr +

验证字符串是否是可以转换为整数

+ +函数签名: + +```go +func IsIntStr(s string) bool +``` +例子: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + fmt.Println(validator.IsIntStr("+3")) //true + fmt.Println(validator.IsIntStr("-3")) //true + fmt.Println(validator.IsIntStr("3.")) //false + fmt.Println(validator.IsIntStr("abc")) //false +} +``` + + + + +### IsIp +

验证字符串是否是ip地址

+ +函数签名: + +```go +func IsIp(ipstr string) bool +``` +例子: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + fmt.Println(validator.IsIp("127.0.0.1")) //true + fmt.Println(validator.IsIp("::0:0:0:0:0:0:1")) //true + fmt.Println(validator.IsIp("127.0.0")) //false + fmt.Println(validator.IsIp("127")) //false +} +``` + + + + +### IsIpV4 +

验证字符串是否是ipv4地址

+ +函数签名: + +```go +func IsIpV4(ipstr string) bool +``` +例子: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + fmt.Println(validator.IsIpV4("127.0.0.1")) //true + fmt.Println(validator.IsIpV4("::0:0:0:0:0:0:1")) //false + fmt.Println(validator.IsIpV4("127.0.0")) //false + fmt.Println(validator.IsIpV4("127")) //false +} +``` + + + + +### IsIpV6 +

验证字符串是否是ipv6地址

+ +函数签名: + +```go +func IsIpV6(ipstr string) bool +``` +例子: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + fmt.Println(validator.IsIpV6("127.0.0.1")) //false + fmt.Println(validator.IsIpV6("::0:0:0:0:0:0:1")) //true + fmt.Println(validator.IsIpV6("127.0.0")) //false + fmt.Println(validator.IsIpV6("127")) //false +} +``` + + + + +### IsStrongPassword +

验证字符串是否是强密码:(alpha(lower+upper) + number + special chars(!@#$%^&*()?><))

+ +函数签名: + +```go +func IsStrongPassword(password string, length int) bool +``` +例子: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + fmt.Println(validator.IsStrongPassword("abc", 3)) //false + fmt.Println(validator.IsStrongPassword("abc123", 6)) //false + fmt.Println(validator.IsStrongPassword("abcABC", 6)) //false + fmt.Println(validator.IsStrongPassword("abcABC123@#$", 16)) //false + fmt.Println(validator.IsStrongPassword("abcABC123@#$", 12)) //true +} +``` + + + + +### IsUrl +

验证字符串是否是url

+ +函数签名: + +```go +func IsUrl(str string) bool +``` +例子: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + fmt.Println(validator.IsUrl("http://abc.com")) //true + fmt.Println(validator.IsUrl("abc.com")) //true + fmt.Println(validator.IsUrl("a.b.com")) //true + fmt.Println(validator.IsUrl("abc")) //false +} +``` + + + + +### IsWeakPassword +

验证字符串是否是弱密码:(only letter or only number or letter + number) +.

+ +函数签名: + +```go +func IsWeakPassword(password string, length int) bool +``` +例子: + +```go +import ( + "fmt" + "github.com/duke-git/lancet/validator" +) + +func main() { + fmt.Println(validator.IsWeakPassword("abc")) //true + fmt.Println(validator.IsWeakPassword("123")) //true + fmt.Println(validator.IsWeakPassword("abc123")) //true + fmt.Println(validator.IsWeakPassword("abc123@#$")) //false +} +``` + + + + + + + + +