# 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/v2/validator" ) ``` ## Index - [ContainChinese](#ContainChinese) - [ContainLetter](#ContainLetter) - [ContainLower](#ContainLower) - [ContainUpper](#ContainUpper) - [IsAlpha](#IsAlpha) - [IsAllUpper](#IsAllUpper) - [IsAllLower](#IsAllLower) - [IsASCII](#IsASCII) - [IsBase64](#IsBase64) - [IsChineseMobile](#IsChineseMobile) - [IsChineseIdNum](#IsChineseIdNum) - [IsChinesePhone](#IsChinesePhone) - [IsCreditCard](#IsCreditCard) - [IsDns](#IsDns) - [IsEmail](#IsEmail) - [IsEmptyString](#IsEmptyString) - [IsInt](#IsInt) - [IsFloat](#IsFloat) - [IsNumber](#IsNumber) - [IsIntStr](#IsIntStr) - [IsFloatStr](#IsFloatStr) - [IsNumberStr](#IsNumberStr) - [IsJSON](#IsJSON) - [IsRegexMatch](#IsRegexMatch) - [IsIp](#IsIp) - [IsIpV4](#IsIpV4) - [IsIpV6](#IsIpV6) - [IsIpPort](#IsIpPort) - [IsStrongPassword](#IsStrongPassword) - [IsUrl](#IsUrl) - [IsWeakPassword](#IsWeakPassword) - [IsZeroValue](#IsZeroValue) - [IsGBK](#IsGBK) - [IsPrintable](#IsPrintable) - [IsBin](#IsBin) - [IsHex](#IsHex) - [IsBase64URL](#IsBase64URL) - [IsJWT](#IsJWT) - [IsVisa](#IsVisa) - [IsMasterCard](#IsMasterCard) - [IsAmericanExpress](#IsAmericanExpress) - [IsUnionPay](#IsUnionPay) - [IsChinaUnionPay](#IsChinaUnionPay) - [IsPassport](#IsPassport) - [IsChineseHMPassport](#IsChineseHMPassport) ## Documentation ### ContainChineseCheck if the string contain mandarin chinese.
Signature: ```go func ContainChinese(s string) bool ``` Example:[Run](https://go.dev/play/p/7DpU0uElYeM) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.ContainChinese("你好") result2 := validator.ContainChinese("你好hello") result3 := validator.ContainChinese("hello") fmt.Println(result1) fmt.Println(result2) fmt.Println(result3) // Output: // true // true // false } ``` ### ContainLetterCheck if the string contain at least one letter.
Signature: ```go func ContainLetter(str string) bool ``` Example:[Run](https://go.dev/play/p/lqFD04Yyewp) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.ContainLetter("你好") result2 := validator.ContainLetter("&@#$%^&*") result3 := validator.ContainLetter("ab1") fmt.Println(result1) fmt.Println(result2) fmt.Println(result3) // Output: // false // false // true } ``` ### ContainLowerCheck if the string contain at least one lower case letter a-z.
Signature: ```go func ContainLower(str string) bool ``` Example:[Run](https://go.dev/play/p/Srqi1ItvnAA) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.ContainLower("abc") result2 := validator.ContainLower("aBC") result3 := validator.ContainLower("ABC") fmt.Println(result1) fmt.Println(result2) fmt.Println(result3) // Output: // true // true // false } ``` ### ContainUpperCheck if the string contain at least one upper case letter A-Z.
Signature: ```go func ContainUpper(str string) bool ``` Example:[Run](https://go.dev/play/p/CmWeBEk27-z) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.ContainUpper("ABC") result2 := validator.ContainUpper("abC") result3 := validator.ContainUpper("abc") fmt.Println(result1) fmt.Println(result2) fmt.Println(result3) // Output: // true // true // false } ``` ### IsAlphaCheck if the string contains only letters (a-zA-Z).
Signature: ```go func IsAlpha(s string) bool ``` Example:[Run](https://go.dev/play/p/7Q5sGOz2izQ) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsAlpha("abc") result2 := validator.IsAlpha("ab1") result3 := validator.IsAlpha("") fmt.Println(result1) fmt.Println(result2) fmt.Println(result3) // Output: // true // false // false } ``` ### IsAllUpperCheck if string is all upper case letters A-Z.
Signature: ```go func IsAllUpper(str string) bool ``` Example:[Run](https://go.dev/play/p/ZHctgeK1n4Z) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsAllUpper("ABC") result2 := validator.IsAllUpper("ABc") result3 := validator.IsAllUpper("AB1") fmt.Println(result1) fmt.Println(result2) fmt.Println(result3) // Output: // true // false // false } ``` ### IsAllLowerCheck if string is all lower case letters a-z.
Signature: ```go func IsAllLower(str string) bool ``` Example:[Run](https://go.dev/play/p/GjqCnOfV6cM) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsAllLower("abc") result2 := validator.IsAllLower("abC") result3 := validator.IsAllLower("ab1") fmt.Println(result1) fmt.Println(result2) fmt.Println(result3) // Output: // true // false // false } ``` ### IsASCIIChecks if string is all ASCII char.
Signature: ```go func IsASCII(str string) bool ``` Example:[Run](https://go.dev/play/p/hfQNPLX0jNa) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsASCII("ABC") result2 := validator.IsASCII("123") result3 := validator.IsASCII("") result4 := validator.IsASCII("😄") result5 := validator.IsASCII("你好") fmt.Println(result1) fmt.Println(result2) fmt.Println(result3) fmt.Println(result4) fmt.Println(result5) // Output: // true // true // true // false // false } ``` ### IsBase64Check if the string is base64 string.
Signature: ```go func IsBase64(base64 string) bool ``` Example:[Run](https://go.dev/play/p/sWHEySAt6hl) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsBase64("aGVsbG8=") result2 := validator.IsBase64("123456") fmt.Println(result1) fmt.Println(result2) // Output: // true // false } ``` ### IsChineseMobileCheck if the string is valid chinese mobile number.
Signature: ```go func IsChineseMobile(mobileNum string) bool ``` Example:[Run](https://go.dev/play/p/GPYUlGTOqe3) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsChineseMobile("13263527980") result2 := validator.IsChineseMobile("434324324") fmt.Println(result1) fmt.Println(result2) // Output: // true // false } ``` ### IsChineseIdNumCheck if the string is chinese id number.
Signature: ```go func IsChineseIdNum(id string) bool ``` Example:[Run](https://go.dev/play/p/d8EWhl2UGDF) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsChineseIdNum("210911192105130715") result2 := validator.IsChineseIdNum("123456") fmt.Println(result1) fmt.Println(result2) // Output: // true // false } ``` ### IsChinesePhoneCheck if the string is chinese phone number.
Signature: ```go func IsChinesePhone(phone string) bool ``` Example:[Run](https://go.dev/play/p/RUD_-7YZJ3I) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsChinesePhone("010-32116675") result2 := validator.IsChinesePhone("123-87562") fmt.Println(result1) fmt.Println(result2) // Output: // true // false } ``` ### IsCreditCardCheck if the string is credit card.
Signature: ```go func IsCreditCard(creditCart string) bool ``` Example:[Run](https://go.dev/play/p/sNwwL6B0-v4) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsCreditCard("4111111111111111") result2 := validator.IsCreditCard("123456") fmt.Println(result1) fmt.Println(result2) // Output: // true // false } ``` ### IsDnsCheck if the string is valid dns.
Signature: ```go func IsDns(dns string) bool ``` Example:[Run](https://go.dev/play/p/jlYApVLLGTZ) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsDns("abc.com") result2 := validator.IsDns("a.b.com") result3 := validator.IsDns("http://abc.com") fmt.Println(result1) fmt.Println(result2) fmt.Println(result3) // Output: // true // false // false } ``` ### IsEmailCheck if the string is email address.
Signature: ```go func IsEmail(email string) bool ``` Example:[Run](https://go.dev/play/p/Os9VaFlT33G) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsEmail("abc@xyz.com") result2 := validator.IsEmail("a.b@@com") fmt.Println(result1) fmt.Println(result2) // Output: // true // false } ``` ### IsEmptyStringCheck if the string is empty or not.
Signature: ```go func IsEmptyString(s string) bool ``` Example:[Run](https://go.dev/play/p/dpzgUjFnBCX) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsEmptyString("") result2 := validator.IsEmptyString(" ") result3 := validator.IsEmptyString("\t") fmt.Println(result1) fmt.Println(result2) fmt.Println(result3) // Output: // true // false // false } ``` ### IsIntCheck if the value is integer(int, unit) or not.
Signature: ```go func IsInt(v any) bool ``` Example:[Run](https://go.dev/play/p/eFoIHbgzl-z) ```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 } ``` ### IsFloatCheck if the value is float(float32, float34) or not.
Signature: ```go func IsFloat(v any) bool ``` Example:[Run](https://go.dev/play/p/vsyG-sxr99_Z) ```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 } ``` ### IsNumberCheck if the value is number(integer, float) or not.
Signature: ```go func IsNumber(v any) bool ``` Example:[Run](https://go.dev/play/p/mdJHOAvtsvF) ```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 } ``` ### IsIntStrCheck if the string can convert to a integer.
Signature: ```go func IsIntStr(s string) bool ``` Example:[Run](https://go.dev/play/p/jQRtFv-a0Rk) ```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 } ``` ### IsFloatStrCheck if the string can convert to a float.
Signature: ```go func IsFloatStr(s string) bool ``` Example:[Run](https://go.dev/play/p/LOYwS_Oyl7U) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsFloatStr("3.") result2 := validator.IsFloatStr("+3.") result3 := validator.IsFloatStr("12") result4 := validator.IsFloatStr("abc") fmt.Println(result1) fmt.Println(result2) fmt.Println(result3) fmt.Println(result4) // Output: // true // true // true // false } ``` ### IsNumberStrCheck if the string can convert to a number.
Signature: ```go func IsNumberStr(s string) bool ``` Example:[Run](https://go.dev/play/p/LzaKocSV79u) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsNumberStr("3.") result2 := validator.IsNumberStr("+3.") result3 := validator.IsNumberStr("+3e2") result4 := validator.IsNumberStr("abc") fmt.Println(result1) fmt.Println(result2) fmt.Println(result3) fmt.Println(result4) // Output: // true // true // true // false } ``` ### IsAlphaNumericCheck if the string is alphanumeric.
Signature: ```go func IsAlphaNumeric(s string) bool ``` Example:[Run](https://go.dev/play/p/RHeESLrLg9c) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsAlphaNumeric("ABC") result2 := validator.IsAlphaNumeric("123") result3 := validator.IsAlphaNumeric("abc123") result4 := validator.IsAlphaNumeric("abc123@#$") fmt.Println(result1) fmt.Println(result2) fmt.Println(result3) fmt.Println(result4) // Output: // true // true // true // false } ``` ### IsJSONCheck if the string is valid JSON.
Signature: ```go func IsJSON(str string) bool ``` Example:[Run](https://go.dev/play/p/8Kip1Itjiil) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsJSON("{}") result2 := validator.IsJSON("{\"name\": \"test\"}") result3 := validator.IsJSON("") result4 := validator.IsJSON("abc") fmt.Println(result1) fmt.Println(result2) fmt.Println(result3) fmt.Println(result4) // Output: // true // true // false // false } ``` ### IsRegexMatchCheck if the string match the regexp.
Signature: ```go func IsRegexMatch(s, regex string) bool ``` Example:[Run](https://go.dev/play/p/z_XeZo_litG) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsRegexMatch("abc", `^[a-zA-Z]+$`) result2 := validator.IsRegexMatch("ab1", `^[a-zA-Z]+$`) fmt.Println(result1) fmt.Println(result2) // Output: // true // false } ``` ### IsIpCheck if the string is a ip address.
Signature: ```go func IsIp(ipstr string) bool ``` Example:[Run](https://go.dev/play/p/FgcplDvmxoD) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsIp("127.0.0.1") result2 := validator.IsIp("::0:0:0:0:0:0:1") result3 := validator.IsIp("127.0.0") result4 := validator.IsIp("::0:0:0:0:") fmt.Println(result1) fmt.Println(result2) fmt.Println(result3) fmt.Println(result4) // Output: // true // true // false // false } ``` ### IsIpV4Check if the string is a ipv4 address.
Signature: ```go func IsIpV4(ipstr string) bool ``` Example:[Run](https://go.dev/play/p/zBGT99EjaIu) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsIpV4("127.0.0.1") result2 := validator.IsIpV4("::0:0:0:0:0:0:1") fmt.Println(result1) fmt.Println(result2) // Output: // true // false } ``` ### IsIpV6Check if the string is a ipv6 address.
Signature: ```go func IsIpV6(ipstr string) bool ``` Example:[Run](https://go.dev/play/p/AHA0r0AzIdC) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsIpV6("127.0.0.1") result2 := validator.IsIpV6("::0:0:0:0:0:0:1") fmt.Println(result1) fmt.Println(result2) // Output: // false // true } ``` ### IsIpPortCheck if the string is ip:port
Signature: ```go func IsIpPort(str string) bool ``` Example:[Run](https://go.dev/play/p/xUmls_b9L29) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsIpPort("127.0.0.1:8080") result2 := validator.IsIpPort("[0:0:0:0:0:0:0:1]:8080") result3 := validator.IsIpPort(":8080") result4 := validator.IsIpPort("::0:0:0:0:") fmt.Println(result1) fmt.Println(result2) fmt.Println(result3) fmt.Println(result4) // Output: // true // true // false // false } ``` ### IsStrongPasswordCheck if the string is strong password (alpha(lower+upper) + number + special chars(!@#$%^&*()?gt<)).
Signature: ```go func IsStrongPassword(password string, length int) bool ``` Example:[Run](https://go.dev/play/p/QHdVcSQ3uDg) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsStrongPassword("abcABC", 6) result2 := validator.IsStrongPassword("abcABC123@#$", 10) fmt.Println(result1) fmt.Println(result2) // Output: // false // true } ``` ### IsUrlCheck if the string is url.
Signature: ```go func IsUrl(str string) bool ``` Example:[Run](https://go.dev/play/p/pbJGa7F98Ka) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsUrl("abc.com") result2 := validator.IsUrl("http://abc.com") result3 := validator.IsUrl("abc") fmt.Println(result1) fmt.Println(result2) fmt.Println(result3) // Output: // true // true // false } ``` ### IsWeakPasswordChecks if the string is weak password(only letter or only number or letter + number) .
Signature: ```go func IsWeakPassword(password string, length int) bool ``` Example:[Run](https://go.dev/play/p/wqakscZH5gH) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsWeakPassword("abcABC") result2 := validator.IsWeakPassword("abc123@#$") fmt.Println(result1) fmt.Println(result2) // Output: // true // false } ``` ### IsZeroValueChecks if passed value is a zero value.
Signature: ```go func IsZeroValue(value any) bool ``` Example:[Run](https://go.dev/play/p/UMrwaDCi_t4) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsZeroValue("") result2 := validator.IsZeroValue(0) result3 := validator.IsZeroValue("abc") result4 := validator.IsZeroValue(1) fmt.Println(result1) fmt.Println(result2) fmt.Println(result3) fmt.Println(result4) // Output: // true // true // false // false } ``` ### IsGBKChecks if data encoding is gbk(Chinese character internal code extension specification). this function is implemented by whether double bytes fall within the encoding range of gbk,while each byte of utf-8 encoding format falls within the encoding range of gbk.Therefore, utf8.valid() should be called first to check whether it is not utf-8 encoding and then call IsGBK() to check gbk encoding. like the example.
Signature: ```go func IsGBK(data []byte) bool ``` Example:[Run](https://go.dev/play/p/E2nt3unlmzP) ```go import ( "fmt" "golang.org/x/text/encoding/simplifiedchinese" "github.com/duke-git/lancet/v2/validator" ) func main() { str := "你好" gbkData, _ := simplifiedchinese.GBK.NewEncoder().Bytes([]byte(str)) result := validator.IsGBK(gbkData) fmt.Println(result) // Output: // true } ``` ### IsPrintableChecks if string is all printable chars.
Signature: ```go func IsPrintable(str string) bool ``` Example:[Run](https://go.dev/play/p/Pe1FE2gdtTP) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsPrintable("ABC") result2 := validator.IsPrintable("{id: 123}") result3 := validator.IsPrintable("") result4 := validator.IsPrintable("😄") result5 := validator.IsPrintable("\u0000") fmt.Println(result1) fmt.Println(result2) fmt.Println(result3) fmt.Println(result4) fmt.Println(result5) // Output: // true // true // true // true // false } ``` ### IsBinChecks if a give string is a valid binary value or not.
Signature: ```go func IsBin(v string) bool ``` Example:[Run](https://go.dev/play/p/ogPeg2XJH4P) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsBin("0101") result2 := validator.IsBin("0b1101") result3 := validator.IsBin("b1101") result4 := validator.IsBin("1201") fmt.Println(result1) fmt.Println(result2) fmt.Println(result3) fmt.Println(result4) // Output: // true // true // false // false } ``` ### IsHexChecks if a give string is a valid hexadecimal value or not.
Signature: ```go func IsHex(v string) bool ``` Example:[Run](https://go.dev/play/p/M2qpHbEwmm7) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsHex("0xabcde") result2 := validator.IsHex("0XABCDE") result3 := validator.IsHex("cdfeg") result4 := validator.IsHex("0xcdfeg") fmt.Println(result1) fmt.Println(result2) fmt.Println(result3) fmt.Println(result4) // Output: // true // true // false // false } ``` ### IsBase64URLChecks if a give string is a valid URL-safe Base64 encoded string.
Signature: ```go func IsBase64URL(v string) bool ``` Example:[Run](https://go.dev/play/p/vhl4mr8GZ6S) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsBase64URL("SAGsbG8sIHdvcmxkIQ") result2 := validator.IsBase64URL("SAGsbG8sIHdvcmxkIQ==") result3 := validator.IsBase64URL("SAGsbG8sIHdvcmxkIQ=") result4 := validator.IsBase64URL("SAGsbG8sIHdvcmxkIQ===") fmt.Println(result1) fmt.Println(result2) fmt.Println(result3) fmt.Println(result4) // Output: // true // true // false // false } ``` ### IsJWTChecks if a give string is is a valid JSON Web Token (JWT).
Signature: ```go func IsJWT(v string) bool ``` Example:[Run](https://go.dev/play/p/R6Op7heJbKI) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsJWT("eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIiwibWVzc2FnZSI6IlB1dGluIGlzIGFic29sdXRlIHNoaXQiLCJpYXQiOjE1MTYyMzkwMjJ9.wkLWA5GtCpWdxNOrRse8yHZgORDgf8TpJp73WUQb910") result2 := validator.IsJWT("abc") fmt.Println(result1) fmt.Println(result2) // Output: // true // false } ``` ### IsVisaChecks if a give string is a valid visa card nubmer or not.
Signature: ```go func IsVisa(v string) bool ``` Example:[Run](https://go.dev/play/p/SdS2keOyJsl) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsVisa("4111111111111111") result2 := validator.IsVisa("123") fmt.Println(result1) fmt.Println(result2) // Output: // true // false } ``` ### IsMasterCardChecks if a give string is a valid mastercard nubmer or not.
Signature: ```go func IsMasterCard(v string) bool ``` Example:[Run](https://go.dev/play/p/CwWBFRrG27b) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsMasterCard("5425233430109903") result2 := validator.IsMasterCard("4111111111111111") fmt.Println(result1) fmt.Println(result2) // Output: // true // false } ``` ### IsAmericanExpressChecks if a give string is a valid american express nubmer or not.
Signature: ```go func IsAmericanExpress(v string) bool ``` Example:[Run](https://go.dev/play/p/HIDFpcOdpkd) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsAmericanExpress("342883359122187") result2 := validator.IsAmericanExpress("3782822463100007") fmt.Println(result1) fmt.Println(result2) // Output: // true // false } ``` ### IsVisaChecks if a give string is a valid union pay nubmer or not.
Signature: ```go func IsUnionPay(v string) bool ``` Example:[Run](https://go.dev/play/p/CUHPEwEITDf) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsUnionPay("6221263430109903") result2 := validator.IsUnionPay("3782822463100007") fmt.Println(result1) fmt.Println(result2) // Output: // true // false } ``` ### IsChinaUnionPayChecks if a give string is a valid china union pay nubmer or not.
Signature: ```go func IsChinaUnionPay(v string) bool ``` Example:[Run](https://go.dev/play/p/yafpdxLiymu) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsChinaUnionPay("6250941006528599") result2 := validator.IsChinaUnionPay("3782822463100007") fmt.Println(result1) fmt.Println(result2) // Output: // true // false } ``` ### IsPassportPassport validation(using regex).
Signature: ```go func IsPassport(passport, country string) bool ``` Example:[Run](https://go.dev/play/p/todo) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsPassport("P123456789", "CN") result2 := validator.IsPassport("123456789", "US") result3 := validator.IsPassport("AB1234567", "RU") result4 := validator.IsPassport("123456789", "CN") fmt.Println(result1) fmt.Println(result2) fmt.Println(result3) fmt.Println(result4) // Output: // true // true // true // false } ``` ### IsChineseHMPassportMainland travel permit for Hong Kong, Macao validation (using regex).
Signature: ```go func IsChineseHMPassport(hmPassport string) bool ``` Example:[Run](https://go.dev/play/p/todo) ```go import ( "fmt" "github.com/duke-git/lancet/v2/validator" ) func main() { result1 := validator.IsChineseHMPassport("C12345678") result2 := validator.IsChineseHMPassport("C00000000") result3 := validator.IsChineseHMPassport("M12345678") result4 := validator.IsChineseHMPassport("c12345678") result5 := validator.IsChineseHMPassport("C1234567") fmt.Println(result1) fmt.Println(result2) fmt.Println(result3) fmt.Println(result4) fmt.Println(result5) // Output: // true // true // true // false // false } ```