日期和時間驗證或者按照指定的格式進行驗證,或者使用的標准格式指定的區域設置。
日期驗證 - 驗證日期轉換為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);
//ip驗證器
//ip地址
InetAddressValidator address=InetAddressValidator.getInstance();
System.out.println(address.isValid("169.254.46.18"));
//email驗證器
EmailValidator validator =EmailValidator.getInstance();
System.out.println(validator.isValid("419084525@qq.com"));
