校验数值范围工具类:
public class ParamUtil {
//检查是否为数字
private static final Pattern pattern = Pattern.compile("[0-9]*");
//检查是否为01-99之间的数字
private static final Pattern pattern2 = Pattern.compile("^([1-9]|0[1-9]|[1-9][0-9])$");
//检查是否大于0小于等于100的整数
private static final Pattern pattern1 = Pattern.compile("^100$|^([1-9]|[1-9]\\d)$");
public static <T> ReqBody<T> checkRequest(ReqBody<T> reqBody) {
if (reqBody == null) {
throw new GlobalErrorInfoException(StockErrorInfoEnum.REQBODY_EMPTY);
}
if (reqBody.getParam() == null) {
throw new GlobalErrorInfoException(StockErrorInfoEnum.PARAM_EMPTY);
}
return reqBody;
}
/**
* 填充0
*
* @param number 需要填充的数
* @param totalDigits 填充的总位数
* @return
*/
public static String filling(String number, Integer totalDigits) {
boolean flag = StringUtils.isEmpty(number) && (null == totalDigits || totalDigits < 2);
if (flag) {
return null;
}
String newNumBer = number;
int length = newNumBer.length();
if (length < totalDigits) {
for (int i = 1; i <= totalDigits - length; i++) {
newNumBer = "0".concat(newNumBer);
}
}
return newNumBer;
}
/**
* 检查字符串是否为数字
*
* @param str
* @return
*/
public static boolean checkStrIsNum(String str) {
if(StringUtils.isBlank(str)){
return true;
}
Matcher isNum = pattern2.matcher(str);
return isNum.matches();
}
/**
* 检查字符是否为大于0小于等于100
*
* @param smartPi
* @return
*/
public static boolean checkSmartPi(String smartPi) {
if(StringUtils.isBlank(smartPi)){
return true;
}
Matcher isNum = pattern1.matcher(smartPi);
return isNum.matches();
}
}