1、金额校验
String AMOUNT_REGEX = "^0|([1-9][0-9]{0,2})(\\.[0-9]{0,2})?$";
public static void checkAmtV1(String amt, String regex) { if (amt.matches(AMOUNT_REGEX)) { System.out.println(amt + "\tmatch OK"); } else { System.out.println(amt + "\tmatch Failed"); } } /** * 金额校验 * * @param amt */ public static void checkAmtV2(String amt) { checkAmtV1(amt, AMOUNT_REGEX); }
@Test public void testAmt() { // 小数点后保留2位的正数金额,如果大于0,不能以0开头。“02”错误。支持小数点前3位数,小数点后2位数 String[] amtArray = {"0", "1", "123", "120.0", "120.1", "120.00", "120.01", "120.10", "01", "1201", "120.000", "-1", "a1", "1a"}; for (String amt : amtArray) { AmountUtils.checkAmtV2(amt); } }
测试结果
2、日期校验
String DATE_REGEX = "^(([1-9]{1}[0-9]{3})([01]{1}[1-9]{1})([0123]{1}[0-9]{1}))$";
String[] amtArray = {"0", "1", "123", "120.0", "120.1", "120.00", "120.01", "120.10", "01", "1201", "120.000", "-1", "a1", "1a"};