Date format validation using Java Regex



Following example demonstrates how to check whether the date is in a proper format or not using matches method of String class.

Example

Live Demo

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);    } }

Result

The above code sample will produce the following result.

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

The following is an example to check whether date is in the proper format or not.

Example

Live Demo

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());       }    } }

Result

The above code sample will produce the following result.

25/12/1990 : false 25/12/1990 : false 12/12/90 : false 05/02/1990 : true
Updated on: 2020-06-19T12:45:34+05:30

852 Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements