Java使用正则表达式验证日期格式

2021年5月14日16:32:15 发表评论 907 次浏览

我们用java.util.regex.Pattern.compile(字符串regex)将给定正则表达式编译为模式的方法。 regex是要编译的表达式。

//Java program to check if given date is
//valid or not.
import java.util.regex.Matcher;
import java.util.regex.Pattern;
  
public class lsbin {
  
     //Returns true if d is in format
     ///dd/mm/yyyy
     public static boolean isValidDate(String d)
     {
         String regex = "^(1[0-2]|0[1-9])/(3[01]"
                        + "|[12][0-9]|0[1-9])/[0-9]{4}$" ;
         Pattern pattern = Pattern.compile(regex);
         Matcher matcher = pattern.matcher((CharSequence)d);
         return matcher.matches();
     }
  
     public static void main(String args[])
     {
         System.out.println(isValidDate( "10/12/2016" ));
         System.out.println(isValidDate( "10/02/18" ));
     }
}

输出如下:

true
false

验证日期的更多方法:

  1. SimpleDateFormat类。我们可以使用此类的parse方法来验证日期。
  2. 编写我们自己的方法来检查日期是否有效。

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: