当前位置: 首页 > 编程笔记 >

使用Java Regex验证日期格式

柯立果
2023-03-14
本文向大家介绍使用Java Regex验证日期格式,包括了使用Java Regex验证日期格式的使用技巧和注意事项,需要的朋友参考一下

下面的示例演示如何使用String类的matchs方法检查日期是否为正确的格式。

示例

public class Main {
   public static void main(String[] argv) {
      boolean isDate = false;
      String date1 = "8-05-1988";
      String date2 = "08/04/1987";
      String datePattern = "\\d{1,2}-\\d{1,2}-\\d{4}";

      isDate = date1.matches(datePattern);
      System.out.println("Date :"+ date1+": matches with the this date Pattern:"+datePattern+"Ans:"+isDate);

      isDate = date2.matches(datePattern);
      System.out.println("Date :"+ date2+": matches with the this date Pattern:"+datePattern+"Ans:"+isDate);
   }
}

结果

上面的代码示例将产生以下结果。

Date :8-05-1988: matches with the this date Pattern: \d{1,2}-\d{1,2}-\d{4}Ans:true
Date :08/04/1987: matches with the this date Pattern: \d{1,2}-\d{1,2}-\d{4}Ans:false

以下是检查日期是否为正确格式的示例。

示例

import java.util.ArrayList;
import java.util.List;
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Main {
   public static void main(String args[]) {
      List dates = new ArrayList();
      dates.add("25/12/1990");
      dates.add("25/12/1990");
      dates.add("12/12/90");
      dates.add("05/02/1990");
      String regex = "^(1[0-2]|0[1-9])/(3[01]|[12][0-9]|0[1-9])/[0-9]{4}$";
      Pattern pattern = Pattern.compile(regex);

      for(Object date : dates) {          
         Matcher matcher = pattern.matcher((CharSequence) date);
         System.out.println(date +" : "+ matcher.matches());
      }
   }
}

结果

上面的代码示例将产生以下结果。

25/12/1990 : false
25/12/1990 : false
12/12/90 : false
05/02/1990 : true
 类似资料:
  • 如何使用threeten BP验证自定义格式的日期,如31/02/1985?

  • 问题内容: 我试图验证实际上是一个字符串的日期,尝试以格式打印它。这是代码。 输出为。我也想要验证。不知道如何进行。 问题答案: 默认情况下宽松。您需要在解析之前将其设置为非宽容。 与年份相比,这将导致提供无效的日期和/或月份。请注意,这并不能验证年份本身,因为基本上任何年份都是有效的。根据具体的功能要求,您可能希望对年份进行其他检查,例如,打开字符串,然后检查第一部分的长度是否为4。

  • 问题内容: 我试图建立一个PHP日期验证(MM / DD / YYYY),但我遇到了问题。这是我得到的样本: 问题答案: 您可以使用checkdate。例如,如下所示: 一种更偏执的方法,不会盲目相信输入内容:

  • 我正在尝试设置php日期验证(MM/DD/YYYY),但我遇到了问题。以下是我得到的一个示例:

  • 问题内容: 我有以下允许使用AngularUI输入日期的表单代码(日期为必填,并且应与美国日期格式匹配,例如:MM / DD / YY): 必填 字段的验证工作正常,但日期格式未正确验证,并且始终显示 “格式不正确…” 消息。 我尝试了几种不同的正则表达式,这些规则表达式在其他地方都可以正常使用,但仍然无法正常工作。我也尝试了AngularUI验证,它也不起作用。提前致谢! 更新: 我认为验证与我

  • 问题内容: 我正在写一个shell脚本,并且对为什么我的日期验证代码不起作用感到困惑。我针对发现的类似问题尝试了以下解决方案,但is_valid始终设置为1: 如何正确验证日期格式?只有格式为MM / DD / YYYY的日期才有效 我也尝试了以下解决方案:Linux Bash-日期格式,但它也总是拒绝日期。 问题答案: Mac OS X随附的BSD 不支持该选项(或者,它用于完全不同的东西)。安