RegExLib.com - The first Regular Expression Library on the Web!

Please support RegExLib Sponsors

Sponsors

Regular Expression Details

Title Test Find Pattern Title
Expression
^(((((0[1-9])|(1\d)|(2[0-8]))-((0[1-9])|(1[0-2])))|((31-((0[13578])|(1[02])))|((29|30)-((0[1,3-9])|(1[0-2])))))-((20[0-9][0-9]))|(29-02-20(([02468][048])|([13579][26]))))$
Description
This expression validates a date field in the European DD-MM-YYYY format. Days are validate for the given month and year.
Matches
05-01-2002 | 29-02-2004 | 31-12-2002
Non-Matches
1-1-02 | 29-02-2002 | 31-11-2002
Author Rating: The rating for this expression. Jörg Maag
Source
Your Rating
Bad Good

Enter New Comment

Title

Name

Comment

Spammers suck - we apologize. Please enter the text shown below to enable your comment (not case sensitive - try as many times as you need to if the first ones are too hard):

Existing User Comments

Title: perfect!
Name: Mona
Date: 10/21/2006 2:23:00 PM
Comment:
Wooohoooo nice job!!! I was looking exactly for this! (The one corrected by Isha Thank You


Title: For Isha: good work but...
Name: Roberto
Date: 3/6/2005 7:14:06 AM
Comment:
Compliments to Isha for its work. I used it in Javascript, replacing [/ -] with \/ (now match only dates with / as separator), because [/ -] doesn't work in Javascript (and I needed only / not -). ^(((((0[1-9])|(1\d)|(2[0-8]))\/((0[1-9])|(1[0-2])))|((31\/((0[13578])|(1[02])))|((29|30)\/((0[1,3-9])|(1[0-2])))))\/(([0-9][0-9][0-9][0-9]))|(29\/02\/[0-9][0-9](([02468][048])|([13579][26]))))$/


Title: Simply the simplest
Name: Isha
Date: 8/11/2004 1:12:45 AM
Comment:
It is realy a good piece for date validatin. It's such a simple logic that you can understand and modify it according to your need, very easily. to make it work with any year 0000-9999 and with /,space or - simple changes are required like - to [/ -] 20[0-9][0-9] to [0-9][0-9][0-9][0-9] ^(((((0[1-9])|(1\d)|(2[0-8]))[/ -]((0[1-9])|(1[0-2])))|((31[/ -]((0[13578])|(1[02])))|((29|30)[/ -]((0[1,3-9])|(1[0-2])))))[/ -](([0-9][0-9][0-9][0-9]))|(29[/ -]02[/ -][0-9][0-9](([02468][048])|([13579][26]))))$ Thank you


Title: Doesnt work brilliantly with PHP
Name: Dave
Date: 7/1/2004 12:03:51 PM
Comment:
Dont know why but it doesnt work with PHP when trying the date 10-07-2004, i have changed the \d part of the expression to [0-9] and that seems to have fixed it, maybe my version of php doesnt support some of the special features. P.S. You can get this to work with all years, just have a fiddle with the ((20[0-9][0-9])) part of the expression. Good work all in all! :o)


Title: Doesn't match below year 2000
Name: Will Earp
Date: 6/18/2003 7:52:11 AM
Comment:
Pretty good but doesn't match any dates with a year below 2000


Copyright © 2001-2024, RegexAdvice.com | ASP.NET Tutorials