数据验证
手机号、身份证、邮箱、URL、密码强度等格式验证
数据验证
xUtil 提供各种数据格式的验证函数,用于快速校验用户输入。
手机号验证
IsValidPhone
验证中国大陆手机号(1[3-9] 开头,11 位):
func IsValidPhone(phone string) boolxUtil.IsValidPhone("13812345678") // true
xUtil.IsValidPhone("12345678901") // false(第二位不是 3-9)
xUtil.IsValidPhone("1381234567") // false(不足 11 位)身份证验证
IsValidIDCard
验证中国大陆身份证号(18 位):
func IsValidIDCard(idCard string) boolxUtil.IsValidIDCard("110101199001011234") // true
xUtil.IsValidIDCard("11010119900101123X") // true(X 结尾)
xUtil.IsValidIDCard("123456789012345678") // falseURL 验证
IsValidURL
验证 URL 格式:
func IsValidURL(url string) boolxUtil.IsValidURL("https://example.com") // true
xUtil.IsValidURL("http://localhost:8080/path") // true
xUtil.IsValidURL("ftp://example.com") // false
xUtil.IsValidURL("example.com") // falseIP 地址验证
IsValidIP
验证 IPv4 地址:
func IsValidIP(ip string) boolxUtil.IsValidIP("192.168.1.1") // true
xUtil.IsValidIP("255.255.255.255") // true
xUtil.IsValidIP("256.1.1.1") // false
xUtil.IsValidIP("192.168.1") // falseUUID 验证
IsValidUUID
验证 UUID 格式:
func IsValidUUID(uuid string) boolxUtil.IsValidUUID("550e8400-e29b-41d4-a716-446655440000") // true
xUtil.IsValidUUID("550e8400e29b41d4a716446655440000") // false(缺少连字符)
xUtil.IsValidUUID("invalid-uuid") // false字符类型验证
IsNumeric
检查是否只包含数字:
func IsNumeric(str string) boolxUtil.IsNumeric("123456") // true
xUtil.IsNumeric("123abc") // false
xUtil.IsNumeric("") // falseIsAlpha
检查是否只包含字母:
func IsAlpha(str string) boolxUtil.IsAlpha("Hello") // true
xUtil.IsAlpha("Hello123") // false
xUtil.IsAlpha("") // falseIsAlphaNumeric
检查是否只包含字母和数字:
func IsAlphaNumeric(str string) boolxUtil.IsAlphaNumeric("Hello123") // true
xUtil.IsAlphaNumeric("Hello_123") // false(包含下划线)
xUtil.IsAlphaNumeric("") // false用户名验证
IsValidUsername
验证用户名(4-20 位,字母开头,只能包含字母、数字、下划线):
func IsValidUsername(username string) boolxUtil.IsValidUsername("xiao_lfeng") // true
xUtil.IsValidUsername("user123") // true
xUtil.IsValidUsername("123user") // false(数字开头)
xUtil.IsValidUsername("ab") // false(少于 4 位)密码强度验证
IsStrongPassword
验证强密码(至少 8 位,包含大写、小写、数字、特殊字符):
func IsStrongPassword(password string) boolxUtil.IsStrongPassword("Abc123!@#") // true
xUtil.IsStrongPassword("abc123!@#") // false(缺少大写)
xUtil.IsStrongPassword("Abc12345") // false(缺少特殊字符)
xUtil.IsStrongPassword("Abc!@#") // false(少于 8 位)范围验证
InRange
检查数值是否在指定范围内:
func InRange(value, min, max float64) boolxUtil.InRange(5.5, 1.0, 10.0) // true
xUtil.InRange(0.5, 1.0, 10.0) // false
xUtil.InRange(10.5, 1.0, 10.0) // falseIsValidLength
检查字符串长度是否在指定范围内:
func IsValidLength(str string, minLen, maxLen int) boolxUtil.IsValidLength("hello", 1, 10) // true
xUtil.IsValidLength("hi", 3, 10) // false
xUtil.IsValidLength("hello world", 1, 5) // falseJSON 格式验证
IsValidJSON
简单检查 JSON 格式:
func IsValidJSON(jsonStr string) boolxUtil.IsValidJSON(`{"name":"test"}`) // true
xUtil.IsValidJSON(`[1, 2, 3]`) // true
xUtil.IsValidJSON(`invalid`) // false
xUtil.IsValidJSON(``) // false