首页 > 代码库 > validate的使用

validate的使用

日期和时间验证或者按照指定的格式进行验证,或者使用的标准格式指定的区域设置。

日期验证 - 验证日期转换为java.util.Date的类型。
日历验证 - 验证日期转换为java.util.Calendar中的类型。
时间验证 - 验证时间转换为java.util.Calendar中的类型。

 

    DateValidator validator=DateValidator.getInstance();
        TimeZone gmt=TimeZone.getDefault();
        Date fooDate=validator.validate("11/01/2010", "dd/MM/yyyy",gmt);
        System.out.println(fooDate);

 

 比较年,月,日

//比较天的大小,1表示第一个参数大于第二个参数,0表示相等,-1表示第二个参数小于第一个参数
        Date date=new Date(2016, 10, 1);
        Date date2=new Date(2015, 1, 1);
        DateValidator validator=DateValidator.getInstance();
        int c= validator.compareDates(date, date2, null);
        System.out.println(c);
        c=validator.compareYears(date, date2, null);
        System.out.println(c);

 

数字验证器或者按照指定的格式进行验证,或者使用的标准格式指定的区域设置或使用自定义格式为指定的区域设置。

Byte Validator - validates numbers converting to a java.lang.Byte type.
Short Validator - validates numbers converting to a java.lang.Short type.
Integer Validator - validates numbers converting to a java.lang.Integer type.
Long Validator - validates numbers converting to a java.lang.Long type.
Float Validator - validates numbers converting to a java.lang.Float type.
Double Validator - validates numbers converting to a java.lang.Double type.
BigInteger Validator - validates numbers converting to a java.math.BigInteger type.
BigDecimal Validator - validates numbers converting to a java.math.BigDecimal type.

验证后转换为各自对应的类型

IntegerValidator validator = IntegerValidator.getInstance();
          Integer fooInteger = validator.validate("1", "#,##0.00", Locale.GERMAN);
          System.out.println(fooInteger);

  • format(number)
  • format(number, pattern)
  • format(number, Locale)
  • format(number, pattern, Locale)
  • 格式化器

//验证一个值在最小值和最大值的范围内
        IntegerValidator validator = IntegerValidator.getInstance();
        if(validator.isInRange(1, 0, 10)){
            System.out.println(true);
        }else {
            System.out.println(false);
        }

 //货币
        BigDecimalValidator big=CurrencyValidator.getInstance();
        BigDecimal decimal=big.validate("$12.00", Locale.US);
        System.out.println(decimal);

 

//百分数转换器

BigDecimalValidator validator=PercentValidator.getInstance();
        BigDecimal fooPercentValidator=validator.validate("20%", Locale.US);
        System.out.println(fooPercentValidator);

//正则表达式验证

1、isValid():返回true/ false指示验证是否成功。

2、validate():返回的匹配组的字符串值聚集在一起,或者为null

3、match():方法返回的匹配组的一个String数组,或者如果无效则返回null

4、Case Sensitivity:匹配可以在任何一个大小写敏感的情况下,或在敏感的方式来完成

5、Multiple Expressions:创建任意对阵的正则表达式一个正则表达式或集合(字符串数组)

boolean caseSensitive = false;
          String regex1   = "^([A-Z]*)(?:\\-)([A-Z]*)*$";
          String regex2   = "^([A-Z]*)$";
          String[] regexs = new String[] {regex1, regex1};

          // Create the validator
          RegexValidator validator = new RegexValidator(regexs, caseSensitive);

          // Validate true/false
          boolean valid = validator.isValid("abc-def");

          // Validate and return a String
          String result = validator.validate("abc-def");

          // Validate and return a String[]
          String[] groups = validator.match("abc-def");
          System.out.println(valid);
          System.out.println(result);
          System.out.println(groups);

 

validate的使用