Package org.aoju.bus.core.lang
Class Validator
java.lang.Object
org.aoju.bus.core.lang.Validator
字段验证器
- Since:
- Java 17+
- Author:
- Kimi Liu
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic boolean验证是否相等 当两值都为null返回truestatic booleanhasNumber(CharSequence value) 是否包含数字static boolean检查给定的数字是否在指定范围内static booleanisBirthday(int year, int month, int day) 验证是否为生日static booleanisBirthday(String value) 验证是否为生日 只支持以下几种格式: yyyyMMdd yyyy-MM-dd yyyy/MM/dd yyyyMMdd yyyy年MM月dd日static booleanisChinese(CharSequence value) 验证是否为英文static booleanisCitizenId(CharSequence value) 验证是否为身份证号码(支持18位/15位和港澳台的10位)static boolean验证邮箱地址是否有效static boolean验证是否为空 对于String类型判定是否为empty(null 或 "")static boolean验证是否为英文static booleanisFalse(boolean value) 给定值是否不为falsestatic boolean验证是否为英文字母 、数字和下划线static boolean验证是否为给定最小长度的英文字母 、数字和下划线static boolean验证是否为给定长度范围的英文字母 、数字和下划线static booleanisGeneralWithChinese(String value) 验证是否为中文字、英文字母、数字和下划线static booleanisHex(CharSequence value) 验证是否为Hex(16进制)字符串static boolean验证是否为IPV4地址static booleanisIpv6(CharSequence value) 验证是否为IPV6地址static boolean判断字符串是否全部为字母组成,包括大写和小写字母和汉字static booleanisLowerCase(String value) 判断字符串是否全部为小写字母static boolean验证是否为MAC地址static booleanisMatchRegex(String regex, CharSequence value) 通过正则表达式验证static booleanisMatchRegex(Pattern pattern, CharSequence value) 通过正则表达式验证static boolean验证是否为手机号码(中国)static booleanisMobileHk(CharSequence value) 验证是否为手机号码(香港)static booleanisMobileMo(CharSequence value) 验证是否为手机号码(澳门)static booleanisMobileTw(CharSequence value) 验证是否为手机号码(台湾)static boolean验证是否为货币static booleanisNotEmpty(Object value) 验证是否为空 对于String类型判定是否为empty(null 或 "")static boolean给定值是否不为nullstatic boolean给定值是否为nullstatic boolean验证该字符串是否是数字static booleanisPassword(String value, boolean... weak) 验证是否符合密码要求static boolean验证是否为座机号码(中国)static booleanisPlateNumber(String value) 验证是否为中国车牌号static booleanisTel400800(CharSequence value) 验证是否为座机号码(中国)+ 400 + 800static booleanisTrue(boolean value) 给定值是否为truestatic booleanisUpperCase(String value) 判断字符串是否全部为大写字母static boolean验证是否为URLstatic boolean验证是否为UUID 包括带横线标准格式和不带横线的简单模式static boolean验证该字符串是否是字母(包括大写和小写字母)static boolean验证是否为邮政编码(中国)static voidvalidateBetween(Number value, Number min, Number max, String errorMsg) 检查给定的数字是否在指定范围内static voidvalidateBirthday(String value, String errorMsg) 验证验证是否为生日static <T extends CharSequence>
TvalidateChinese(T value, String errorMsg) 验证是否为汉字static <T extends CharSequence>
TvalidateCitizenIdNumber(T value, String errorMsg) 验证是否为身份证号码(支持18位/15位和港澳台的10位)static voidvalidateEmail(String value, String errorMsg) 验证邮箱地址是否有效static voidvalidateEnglish(String value, String errorMsg) 验证是否为汉字static voidvalidateEqual(Object t1, Object t2, String errorMsg) 验证是否相等,不相等抛出异常static booleanvalidateFalse(boolean value, String errorMsgTemplate, Object... params) 检查指定值是否为falsestatic voidvalidateGeneral(String value, int min, int max, String errorMsg) 验证是否为给定长度范围的英文字母 、数字和下划线static voidvalidateGeneral(String value, int min, String errorMsg) 验证是否为给定最小长度的英文字母 、数字和下划线static voidvalidateGeneral(String value, String errorMsg) 验证是否为英文字母 、数字和下划线static voidvalidateGeneralWithChinese(String value, String errorMsg) 验证是否为中文字、英文字母、数字和下划线static <T extends CharSequence>
TvalidateHex(T value, String errorMsg) 验证是否为Hex(16进制)字符串static voidvalidateIpv4(String value, String errorMsg) 验证是否为IPV4地址static <T extends CharSequence>
TvalidateIpv6(T value, String errorMsg) 验证是否为IPV6地址static voidvalidateLetter(String value, String errorMsg) 验证是否全部为字母组成,包括大写和小写字母和汉字static voidvalidateLowerCase(String value, String errorMsg) 验证字符串是否全部为小写字母static voidvalidateMac(String value, String errorMsg) 验证是否为MAC地址static voidvalidateMatchRegex(String regex, String value, String errorMsg) 通过正则表达式验证 不符合正则static voidvalidateMobile(String value, String errorMsg) 验证是否为手机号码(中国)static voidvalidateMoney(String value, String errorMsg) 验证是否为货币static voidvalidateNotEmpty(Object value, String errorMsg) 验证是否为空,为空时抛出异常 对于String类型判定是否为empty(null 或 "")static voidvalidateNotEmptyAndEqual(Object t1, Object t2, String errorMsg) 验证是否非空且与指定值相等 当数据为空时抛出验证异常 当两值不等时抛出异常static voidvalidateNotEmptyAndNotEqual(Object t1, Object t2, String errorMsg) 验证是否非空且与指定值相等 当数据为空时抛出验证异常 当两值相等时抛出异常static voidvalidateNotEqual(Object t1, Object t2, String errorMsg) 验证是否不等,相等抛出异常static <T> TvalidateNotNull(T value, String errorMsgTemplate, Object... params) 检查指定值是否为nullstatic voidvalidateNumber(String value, String errorMsg) 验证是否为数字static voidvalidatePassword(String value, String errorMsg, boolean... weak) 验证是是否符合密码要求static voidvalidatePlateNumber(String value, String errorMsg) 验证是否为中国车牌号static booleanvalidateTrue(boolean value, String errorMsgTemplate, Object... params) 检查指定值是否为truestatic voidvalidateUpperCase(String value, String errorMsg) 验证字符串是否全部为大写字母static voidvalidateUrl(String value, String errorMsg) 验证是否为URLstatic voidvalidateUUID(String value, String errorMsg) 验证是否为UUID 包括带横线标准格式和不带横线的简单模式static voidvalidateWord(String value, String errorMsg) 验证是否为字母(包括大写和小写字母)static voidvalidateZipCode(String value, String errorMsg) 验证是否为邮政编码(中国)
-
Constructor Details
-
Validator
public Validator()
-
-
Method Details
-
isNull
给定值是否为null- Parameters:
value- 值- Returns:
- 是否为
null
-
isNotNull
给定值是否不为null- Parameters:
value- 值- Returns:
- 是否不为
null
-
validateNotNull
public static <T> T validateNotNull(T value, String errorMsgTemplate, Object... params) throws ValidateException 检查指定值是否为null- Type Parameters:
T- 被检查的对象类型- Parameters:
value- 值errorMsgTemplate- 错误消息内容模板(变量使用{}表示)params- 模板中变量替换后的值- Returns:
- 检查过后的值
- Throws:
ValidateException- 检查不满足条件抛出的异常
-
isEmpty
验证是否为空 对于String类型判定是否为empty(null 或 "")- Parameters:
value- 值- Returns:
- 是否为空
-
isNotEmpty
验证是否为空 对于String类型判定是否为empty(null 或 "")- Parameters:
value- 值- Returns:
- 是否为空
-
validateNotEmpty
验证是否为空,为空时抛出异常 对于String类型判定是否为empty(null 或 "")- Parameters:
value- 值errorMsg- 验证错误的信息- Throws:
ValidateException- 验证异常
-
isTrue
public static boolean isTrue(boolean value) 给定值是否为true- Parameters:
value- 值- Returns:
- 是否为
true
-
isFalse
public static boolean isFalse(boolean value) 给定值是否不为false- Parameters:
value- 值- Returns:
- 是否不为
false
-
validateTrue
public static boolean validateTrue(boolean value, String errorMsgTemplate, Object... params) throws ValidateException 检查指定值是否为true- Parameters:
value- 值errorMsgTemplate- 错误消息内容模板(变量使用{}表示)params- 模板中变量替换后的值- Returns:
- 检查过后的值
- Throws:
ValidateException- 检查不满足条件抛出的异常
-
validateFalse
public static boolean validateFalse(boolean value, String errorMsgTemplate, Object... params) throws ValidateException 检查指定值是否为false- Parameters:
value- 值errorMsgTemplate- 错误消息内容模板(变量使用{}表示)params- 模板中变量替换后的值- Returns:
- 检查过后的值
- Throws:
ValidateException- 检查不满足条件抛出的异常
-
equal
验证是否相等 当两值都为null返回true- Parameters:
t1- 对象1t2- 对象2- Returns:
- 当两值都为null或相等返回true
-
validateEqual
验证是否相等,不相等抛出异常- Parameters:
t1- 对象1t2- 对象2errorMsg- 错误信息- Throws:
ValidateException- 验证异常
-
validateNotEqual
验证是否不等,相等抛出异常- Parameters:
t1- 对象1t2- 对象2errorMsg- 错误信息- Throws:
ValidateException- 验证异常
-
validateNotEmptyAndEqual
public static void validateNotEmptyAndEqual(Object t1, Object t2, String errorMsg) throws ValidateException 验证是否非空且与指定值相等 当数据为空时抛出验证异常 当两值不等时抛出异常- Parameters:
t1- 对象1t2- 对象2errorMsg- 错误信息- Throws:
ValidateException- 验证异常
-
validateNotEmptyAndNotEqual
public static void validateNotEmptyAndNotEqual(Object t1, Object t2, String errorMsg) throws ValidateException 验证是否非空且与指定值相等 当数据为空时抛出验证异常 当两值相等时抛出异常- Parameters:
t1- 对象1t2- 对象2errorMsg- 错误信息- Throws:
ValidateException- 验证异常
-
isMatchRegex
通过正则表达式验证- Parameters:
pattern- 正则模式value- 值- Returns:
- 是否匹配正则
-
isMatchRegex
通过正则表达式验证- Parameters:
regex- 正则value- 值- Returns:
- 是否匹配正则
-
validateMatchRegex
public static void validateMatchRegex(String regex, String value, String errorMsg) throws ValidateException 通过正则表达式验证 不符合正则- Parameters:
regex- 正则value- 值errorMsg- 验证错误的信息- Throws:
ValidateException- 验证异常
-
isGeneral
验证是否为英文字母 、数字和下划线- Parameters:
value- 值- Returns:
- 是否为英文字母 、数字和下划线
-
validateGeneral
验证是否为英文字母 、数字和下划线- Parameters:
value- 值errorMsg- 验证错误的信息- Throws:
ValidateException- 验证异常
-
isGeneral
验证是否为给定长度范围的英文字母 、数字和下划线- Parameters:
value- 值min- 最小长度,负数自动识别为0max- 最大长度,0或负数表示不限制最大长度- Returns:
- 是否为给定长度范围的英文字母 、数字和下划线
-
validateGeneral
public static void validateGeneral(String value, int min, int max, String errorMsg) throws ValidateException 验证是否为给定长度范围的英文字母 、数字和下划线- Parameters:
value- 值min- 最小长度,负数自动识别为0max- 最大长度,0或负数表示不限制最大长度errorMsg- 验证错误的信息- Throws:
ValidateException- 验证异常
-
isGeneral
验证是否为给定最小长度的英文字母 、数字和下划线- Parameters:
value- 值min- 最小长度,负数自动识别为0- Returns:
- 是否为给定最小长度的英文字母 、数字和下划线
-
validateGeneral
验证是否为给定最小长度的英文字母 、数字和下划线- Parameters:
value- 值min- 最小长度,负数自动识别为0errorMsg- 验证错误的信息- Throws:
ValidateException- 验证异常
-
isLetter
判断字符串是否全部为字母组成,包括大写和小写字母和汉字- Parameters:
value- 值- Returns:
- 是否全部为字母组成, 包括大写和小写字母和汉字
-
validateLetter
验证是否全部为字母组成,包括大写和小写字母和汉字- Parameters:
value- 表单值errorMsg- 验证错误的信息- Throws:
ValidateException- 验证异常
-
isUpperCase
判断字符串是否全部为大写字母- Parameters:
value- 值- Returns:
- 是否全部为大写字母
-
validateUpperCase
验证字符串是否全部为大写字母- Parameters:
value- 表单值errorMsg- 验证错误的信息- Throws:
ValidateException- 验证异常
-
isLowerCase
判断字符串是否全部为小写字母- Parameters:
value- 值- Returns:
- 是否全部为小写字母
-
validateLowerCase
验证字符串是否全部为小写字母- Parameters:
value- 表单值errorMsg- 验证错误的信息- Throws:
ValidateException- 验证异常
-
isNumber
验证该字符串是否是数字- Parameters:
value- 字符串内容- Returns:
- 是否是数字
-
hasNumber
是否包含数字- Parameters:
value- 当前字符串- Returns:
- boolean 是否存在数字
-
validateNumber
验证是否为数字- Parameters:
value- 表单值errorMsg- 验证错误的信息- Throws:
ValidateException- 验证异常
-
isWord
验证该字符串是否是字母(包括大写和小写字母)- Parameters:
value- 字符串内容- Returns:
- 是否是字母(包括大写和小写字母)
-
validateWord
验证是否为字母(包括大写和小写字母)- Parameters:
value- 表单值errorMsg- 验证错误的信息- Throws:
ValidateException- 验证异常
-
isMoney
验证是否为货币- Parameters:
value- 值- Returns:
- 是否为货币
-
validateMoney
验证是否为货币- Parameters:
value- 值errorMsg- 验证错误的信息- Throws:
ValidateException- 验证异常
-
isZipCode
验证是否为邮政编码(中国)- Parameters:
value- 值- Returns:
- 是否为邮政编码(中国)
-
validateZipCode
验证是否为邮政编码(中国)- Parameters:
value- 表单值errorMsg- 验证错误的信息- Throws:
ValidateException- 验证异常
-
isEmail
验证邮箱地址是否有效- Parameters:
value- 值- Returns:
- 邮箱是否有效
-
validateEmail
验证邮箱地址是否有效- Parameters:
value- 值errorMsg- 验证错误的信息- Throws:
ValidateException- 验证异常
-
isPhone
验证是否为座机号码(中国)- Parameters:
value- 值- Returns:
- 是否为座机号码(中国)
-
isMobile
验证是否为手机号码(中国)- Parameters:
value- 值- Returns:
- 是否为手机号码(中国)
-
isMobileHk
验证是否为手机号码(香港)- Parameters:
value- 手机号码- Returns:
- 是否为香港手机号码
-
isMobileTw
验证是否为手机号码(台湾)- Parameters:
value- 手机号码- Returns:
- 是否为台湾手机号码
-
isMobileMo
验证是否为手机号码(澳门)- Parameters:
value- 手机号码- Returns:
- 是否为澳门手机号码
-
isTel400800
验证是否为座机号码(中国)+ 400 + 800- Parameters:
value- 值- Returns:
- 是否为座机号码(中国)
-
validateMobile
验证是否为手机号码(中国)- Parameters:
value- 值errorMsg- 验证错误的信息- Throws:
ValidateException- 验证异常
-
isCitizenId
验证是否为身份证号码(支持18位/15位和港澳台的10位)- Parameters:
value- 身份证号,支持18位/15位和港澳台的10位- Returns:
- 是否为有效身份证号码
-
validateCitizenIdNumber
public static <T extends CharSequence> T validateCitizenIdNumber(T value, String errorMsg) throws ValidateException 验证是否为身份证号码(支持18位/15位和港澳台的10位)- Type Parameters:
T- 字符串类型- Parameters:
value- 值errorMsg- 验证错误的信息- Returns:
- 验证后的值
- Throws:
ValidateException- 验证异常
-
isBirthday
public static boolean isBirthday(int year, int month, int day) 验证是否为生日- Parameters:
year- 年month- 月day- 日- Returns:
- 是否为生日
-
isBirthday
验证是否为生日 只支持以下几种格式:- yyyyMMdd
- yyyy-MM-dd
- yyyy/MM/dd
- yyyyMMdd
- yyyy年MM月dd日
- Parameters:
value- 值- Returns:
- 是否为生日
-
validateBirthday
验证验证是否为生日- Parameters:
value- 值errorMsg- 验证错误的信息- Throws:
ValidateException- 验证异常
-
isIpv4
验证是否为IPV4地址- Parameters:
value- 值- Returns:
- 是否为IPV4地址
-
validateIpv4
验证是否为IPV4地址- Parameters:
value- 值errorMsg- 验证错误的信息- Throws:
ValidateException- 验证异常
-
isIpv6
验证是否为IPV6地址- Parameters:
value- 值- Returns:
- 是否为IPV6地址
-
validateIpv6
public static <T extends CharSequence> T validateIpv6(T value, String errorMsg) throws ValidateException 验证是否为IPV6地址- Type Parameters:
T- 字符串类型- Parameters:
value- 值errorMsg- 验证错误的信息- Returns:
- 验证后的值
- Throws:
ValidateException- 验证异常
-
isMac
验证是否为MAC地址- Parameters:
value- 值- Returns:
- 是否为MAC地址
-
validateMac
验证是否为MAC地址- Parameters:
value- 值errorMsg- 验证错误的信息- Throws:
ValidateException- 验证异常
-
isPlateNumber
验证是否为中国车牌号- Parameters:
value- 值- Returns:
- 是否为中国车牌号
-
validatePlateNumber
验证是否为中国车牌号- Parameters:
value- 值errorMsg- 验证错误的信息- Throws:
ValidateException- 验证异常
-
isUrl
验证是否为URL- Parameters:
value- 值- Returns:
- 是否为URL
-
validateUrl
验证是否为URL- Parameters:
value- 值errorMsg- 验证错误的信息- Throws:
ValidateException- 验证异常
-
isEnglish
验证是否为英文- Parameters:
value- 值- Returns:
- 是否为汉字
-
validateEnglish
验证是否为汉字- Parameters:
value- 表单值errorMsg- 验证错误的信息- Throws:
ValidateException- 验证异常
-
isChinese
验证是否为英文- Parameters:
value- 值- Returns:
- 是否为汉字
-
validateChinese
public static <T extends CharSequence> T validateChinese(T value, String errorMsg) throws ValidateException 验证是否为汉字- Type Parameters:
T- 字符串类型- Parameters:
value- 表单值errorMsg- 验证错误的信息- Returns:
- 验证后的值
- Throws:
ValidateException- 验证异常
-
isGeneralWithChinese
验证是否为中文字、英文字母、数字和下划线- Parameters:
value- 值- Returns:
- 是否为中文字、英文字母、数字和下划线
-
validateGeneralWithChinese
public static void validateGeneralWithChinese(String value, String errorMsg) throws ValidateException 验证是否为中文字、英文字母、数字和下划线- Parameters:
value- 值errorMsg- 验证错误的信息- Throws:
ValidateException- 验证异常
-
isUUID
验证是否为UUID 包括带横线标准格式和不带横线的简单模式- Parameters:
value- 值- Returns:
- 是否为UUID
-
validateUUID
验证是否为UUID 包括带横线标准格式和不带横线的简单模式- Parameters:
value- 值errorMsg- 验证错误的信息- Throws:
ValidateException- 验证异常
-
isBetween
检查给定的数字是否在指定范围内- Parameters:
value- 值min- 最小值(包含)max- 最大值(包含)- Returns:
- 是否满足
-
validateBetween
public static void validateBetween(Number value, Number min, Number max, String errorMsg) throws ValidateException 检查给定的数字是否在指定范围内- Parameters:
value- 值min- 最小值(包含)max- 最大值(包含)errorMsg- 验证错误的信息- Throws:
ValidateException- 验证异常
-
isHex
验证是否为Hex(16进制)字符串- Parameters:
value- 值- Returns:
- 是否为Hex(16进制)字符串
-
validateHex
public static <T extends CharSequence> T validateHex(T value, String errorMsg) throws ValidateException 验证是否为Hex(16进制)字符串- Type Parameters:
T- 字符串类型- Parameters:
value- 值errorMsg- 验证错误的信息- Returns:
- 验证后的值
- Throws:
ValidateException- 验证异常
-
isPassword
验证是否符合密码要求- Parameters:
value- 值weak- 是否弱密码- Returns:
- 否符合密码要求
-
validatePassword
public static void validatePassword(String value, String errorMsg, boolean... weak) throws ValidateException 验证是是否符合密码要求- Parameters:
value- 值errorMsg- 验证错误的信息weak- 是否弱密码- Throws:
ValidateException- 验证异常
-