当前位置:   article > 正文

Java正则表达式实用代码-验证日期格式_java中pattern校验日期格式

java中pattern校验日期格式

日期有很多格式,这里只以“年-月-日”这种格式作为示例

1、年就是0-9的数字重复4次,月份会有两种情况:0-9和10-12。
0-9范围就用0[1-9]来表示,10-12就用1[0-2]来表示
 

^[0-9]{4}-(0[1-9]|1[0-2])


2、天数也需要分为三个情况,0-9,10-29和30-31

 

^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$

以下范例判断是否为有效日期。
 

  1. import java.util.regex.Matcher;
  2. import java.util.regex.Pattern;
  3. public class Sample {
  4. public static void main(String[] args) {
  5. System.out.println("2023-11-15 是否有效?"+check("2023-11-15"));
  6. System.out.println("2023-18-21 是否有效?"+check("2023-18-21"));
  7. System.out.println("2028-01-03 是否有效?"+check("2028-01-03"));
  8. }
  9. //判断是否为有效日期
  10. public static boolean check(String str) {
  11. String patt="^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])$";
  12. Pattern r = Pattern.compile(patt);
  13. Matcher matcher = r.matcher(str);
  14. return matcher.find();
  15. }
  16. }

运行以上范例,得到如下打印结果。

  1. 2023-11-15 是否有效?true
  2. 2023-18-21 是否有效?false
  3. 2028-01-03 是否有效?true

3、如果月份和日期只有单个数字,也认定为是有效的,那么要使用下面的正则表达式:

^[0-9]{4}-([1-9]|0[1-9]|1[0-2])-([1-9]|0[1-9]|[12][0-9]|3[01])$

范例如下。

  1. import java.util.regex.Matcher;
  2. import java.util.regex.Pattern;
  3. public class Sample {
  4. public static void main(String[] args) {
  5. System.out.println("2023-11-15 是否有效?"+check("2023-11-15"));
  6. System.out.println("2023-18-21 是否有效?"+check("2023-18-21"));
  7. System.out.println("2028-01-03 是否有效?"+check("2028-01-03"));
  8. System.out.println("2028-1-3 是否有效?" +check("2028-1-3"));
  9. System.out.println("2028-1-03 是否有效?" +check("2028-1-03"));
  10. System.out.println("2028-01-3 是否有效?" +check("2028-01-3"));
  11. System.out.println("2028-13-03 是否有效?" +check("2028-13-03"));
  12. }
  13. //判断是否为有效日期
  14. public static boolean check(String str) {
  15. String patt="^[0-9]{4}-([1-9]|0[1-9]|1[0-2])-([1-9]|0[1-9]|[12][0-9]|3[01])$";
  16. Pattern r = Pattern.compile(patt);
  17. Matcher matcher = r.matcher(str);
  18. return matcher.find();
  19. }
  20. }

运行以上范例,得到如下打印结果。

  1. 2023-11-15 是否有效?true
  2. 2023-18-21 是否有效?false
  3. 2028-01-03 是否有效?true
  4. 2028-1-3 是否有效?true
  5. 2028-1-03 是否有效?true
  6. 2028-01-3 是否有效?true
  7. 2028-13-03 是否有效?false


原文:
Java正则表达式实用代码-验证日期格式 - 知乎

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/52143
推荐阅读
相关标签
  

闽ICP备14008679号