134 regular expressions found in this category!
Displaying page
of
pages;
Items to
Title |
Test
Details
Pattern Title
|
Expression |
^((0[1-9])|(1[0-2]))\/(\d{2})$ |
Description |
Validates MM/YY for rough checking credit card expiration dates. |
Matches |
11/03 | 01/04 |
Non-Matches |
13/03 | 10/2003 |
Author |
Rating:
Kevin Coleman
|
Title |
Test
Details
Pattern Title
|
Expression |
^[0-9]{4}-(((0[13578]|(10|12))-(0[1-9]|[1-2][0-9]|3[0-1]))|(02-(0[1-9]|[1-2][0-9]))|((0[469]|11)-(0[1-9]|[1-2][0-9]|30)))$ |
Description |
Matches the date format "YYYY-mm-dd" and also validates month and number of days in a month. All leap year dates "YYYY-02-29" passes trough. Could easily be changed to another format. |
Matches |
2004-04-30 | 2004-02-29 |
Non-Matches |
2004-04-31 | 2004-02-30 |
Author |
Rating:
Johan Södercrantz
|
Title |
Test
Details
Pattern Title
|
Expression |
^([01]\d|2[0123])([0-5]\d){2}$ |
Description |
HHmmss without any separators. Hours in 24h format. |
Matches |
235959 | 000000 | 012345 |
Non-Matches |
240000 | 23:59:59 | 236060 |
Author |
Rating:
Dany Lauener
|
Title |
Test
Details
Pattern Title
|
Expression |
^((0?[1-9]|[12][1-9]|3[01])\.(0?[13578]|1[02])\.20[0-9]{2}|(0?[1-9]|[12][1-9]|30)\.(0?[13456789]|1[012])\.20[0-9]{2}|(0?[1-9]|1[1-9]|2[0-8])\.(0?[123456789]|1[012])\.20[0-9]{2}|(0?[1-9]|[12][1-9])\.(0?[123456789]|1[012])\.20(00|04|08|12|16|20|24|28|32|36|40|44|48|52|56|60|64|68|72|76|80|84|88|92|96))$ |
Description |
Fully functional date validator in format dd.MM.yyyy
Works only within range of years 2000-2099 !
It allows leading zeros but does not require them. The last year pattern (enumeration) is not very clever but I will improve it, if needed. |
Matches |
31.01.2002 | 29.2.2004 | 09.02.2005 |
Non-Matches |
31.11.2002 | 29.2.2002 | 33.06.2000 |
Author |
Rating:
Dalibor Kalna
|
Title |
Test
Details
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:
Jörg Maag
|
Title |
Test
Details
Pattern Title
|
Expression |
^(?=\d)(?:(?!(?:1582(?:\.|-|\/)10(?:\.|-|\/)(?:0?[5-9]|1[0-4]))|(?:1752(?:\.|-|\/)0?9(?:\.|-|\/)(?:0?[3-9]|1[0-3])))(?=(?:(?!000[04]|(?:(?:1[^0-6]|[2468][^048]|[3579][^26])00))(?:(?:\d\d)(?:[02468][048]|[13579][26]))\D0?2\D29)|(?:\d{4}\D(?!(?:0?[2469]|11)\D31)(?!0?2(?:\.|-|\/)(?:29|30))))(\d{4})([-\/.])(0?\d|1[012])\2((?!00)[012]?\d|3[01])(?:$|(?=\x20\d)\x20))?((?:(?:0?[1-9]|1[012])(?::[0-5]\d){0,2}(?:\x20[aApP][mM]))|(?:[01]\d|2[0-3])(?::[0-5]\d){1,2})?$ |
Description |
yyyy/mm/dd hh:MM:ss Datetime for all AD years, including leap years.
Javascript safe version of http://regexlib.com/REDetails.aspx?regexp_id=760. Please see that regex for details of what is being checked |
Matches |
0008-02-29 | 2:34:59 PM | 9999/12/31 11:59 PM |
Non-Matches |
04/04/04 | 1:00 | 1999/1/32 |
Author |
Rating:
Michael Ash
|
Title |
Test
Details
Pattern Title
|
Expression |
^((31(?! (FEB|APR|JUN|SEP|NOV)))|((30|29)(?! FEB))|(29(?= FEB (((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)))))|(0?[1-9])|1\d|2[0-8])-(JAN|FEB|MAR|MAY|APR|JUL|JUN|AUG|OCT|SEP|NOV|DEC)-((1[6-9]|[2-9]\d)\d{2})$ |
Description |
Mathces in format DD-MON-YYYY (hyphen between results). Validates for leap years. Ensures month is in uppercase. |
Matches |
9-MAY-1981 | 29-FEB-2004 | 25-DEC-1999 |
Non-Matches |
09 MAY 1981 | 06 Jul 2003 |
Author |
Rating:
Rohan Pathare
|
Title |
Test
Details
Months
|
Expression |
^(?:J(anuary|u(ne|ly))|February|Ma(rch|y)|A(pril|ugust)|(((Sept|Nov|Dec)em)|Octo)ber)$ |
Description |
This RE validate the full name of the months. |
Matches |
January | May | October |
Non-Matches |
Jan | Septem | Octo |
Author |
Rating:
Michael Ash
|
Title |
Test
Details
Pattern Title
|
Expression |
((^(10|12|0?[13578])(3[01]|[12][0-9]|0?[1-9])((1[8-9]\d{2})|([2-9]\d{3}))$)|(^(11|0?[469])(30|[12][0-9]|0?[1-9])((1[8-9]\d{2})|([2-9]\d{3}))$)|(^(0?2)(2[0-8]|1[0-9]|0?[1-9])((1[8-9]\d{2})|([2-9]\d{3}))$)|(^(0?2)(29)([2468][048]00)$)|(^(0?2)(29)([3579][26]00)$)|(^(0?2)(29)([1][89][0][48])$)|(^(0?2)(29)([2-9][0-9][0][48])$)|(^(0?2)(29)([1][89][2468][048])$)|(^(0?2)(29)([2-9][0-9][2468][048])$)|(^(0?2)(29)([1][89][13579][26])$)|(^(0?2)(29)([2-9][0-9][13579][26])$)) |
Description |
Matches on MMDDYYYY only, requires all 8 digits |
Matches |
01012003 | 02292000 |
Non-Matches |
01/01/2003 |
Author |
Rating:
mike harber
|
Title |
Test
Details
Pattern Title
|
Expression |
^(((0?[1-9]|1[012])/(0?[1-9]|1\d|2[0-8])|(0?[13456789]|1[012])/(29|30)|(0?[13578]|1[02])/31)/(19|[2-9]\d)\d{2}|0?2/29/((19|[2-9]\d)(0[48]|[2468][048]|[13579][26])|(([2468][048]|[3579][26])00)))$ |
Description |
MM/dd/yyyy with 100% leap years. Valid since year 1900.
MM and DD could have 1 or 2 digits : M/d/yyyy or MM/d/yyyy or M/dd/yyyy
This was a request from a user in http://www.regexlib.com/REDetails.aspx?regexp_id=1038 |
Matches |
01/31/1905 | 1/9/1900 | 2/29/1904 |
Non-Matches |
31/01/2005 | 02/29/2005 | 2/29/2005 |
Author |
Rating:
Dany Lauener
|
Title |
Test
Details
Pattern Title
|
Expression |
^(((0[1-9]|[12]\d|3[01])\/(0[13578]|1[02])\/((19|[2-9]\d)\d{2}))|((0[1-9]|[12]\d|30)\/(0[13456789]|1[012])\/((19|[2-9]\d)\d{2}))|((0[1-9]|1\d|2[0-8])\/02\/((19|[2-9]\d)\d{2}))|(29\/02\/((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))))$ |
Description |
dd/MM/yyyy with leap years 100% integrated Valid years : from 1900 to 9999.
As usual, many tests have been made.
This was requested by a user :
http://www.regexlib.com/REDetails.aspx?regexp_id=409 |
Matches |
29/02/2000 | 30/04/2003 | 01/01/2003 |
Non-Matches |
29/02/2001 | 30-04-2003 | 1/1/1899 |
Author |
Rating:
Dany Lauener
|
Title |
Test
Details
Pattern Title
|
Expression |
((\d{2})|(\d))\/((\d{2})|(\d))\/((\d{4})|(\d{2})) |
Description |
This matches simple dates against 1 or 2 digits for the month, 1 or 2 digit for the day, and either 2 or 4 digits for the year |
Matches |
4/5/91 | 04/5/1991 | 4/05/89 |
Non-Matches |
4/5/1 |
Author |
Rating:
Andrew Lader
|
Title |
Test
Details
Pattern Title
|
Expression |
^([0]?[1-9]|[1][0-2])[./-]([0]?[1-9]|[1|2][0-9]|[3][0|1])[./-]([0-9]{4}|[0-9]{2})$ |
Description |
Validate american date formats: mm/dd/yyyy or m/d/yy or m.d.yyyy with separators: . - /
Valid dates only! m (1-12)/ d (1-31)/ y (0..)
(rizzipereira.com.br)
For Brazilian date format: http://www.regexlib.com/REDetails.aspx?regexp_id=250 |
Matches |
10.03.1979 | 12/30/2004 | 01/01/2004 |
Non-Matches |
09--02--2004 | 15-15-2004 | 13/12/2004 |
Author |
Rating:
Diego dos Santos
|
Title |
Test
Details
Pattern Title
|
Expression |
^(((((((0?[13578])|(1[02]))[\.\-/]?((0?[1-9])|([12]\d)|(3[01])))|(((0?[469])|(11))[\.\-/]?((0?[1-9])|([12]\d)|(30)))|((0?2)[\.\-/]?((0?[1-9])|(1\d)|(2[0-8]))))[\.\-/]?(((19)|(20))?([\d][\d]))))|((0?2)[\.\-/]?(29)[\.\-/]?(((19)|(20))?(([02468][048])|([13579][26])))))$ |
Description |
Simple American date format mm-dd-yyyy or mm-dd-yy, no time. Date range is 1900 --> 2099. Is enough for my purposes. Incorectly validates 02-29-1900. I created this to validate dates on a web form where the likely range will be 2000-->2020. Seperators can be '.','/' or '-'
Anyone know the rules for operator precedence for regex syntax? |
Matches |
02-29-2004 | 1/31/1997 | 1-2-03 |
Non-Matches |
02-29-2003 | 04-31-2003 | 31-03-05 |
Author |
Rating:
Neil Walls
|
Title |
Test
Details
Pattern Title
|
Expression |
^([2-9]\d{3}((0[1-9]|1[012])(0[1-9]|1\d|2[0-8])|(0[13456789]|1[012])(29|30)|(0[13578]|1[02])31)|(([2-9]\d)(0[48]|[2468][048]|[13579][26])|(([2468][048]|[3579][26])00))0229)$ |
Description |
yyyyMMdd with leap year validation, starting from year 2000 only.
The length of the expression is minimized, but still validates all entries.
If you want it with years like 1600 or separators, just ask :) |
Matches |
20000101 | 20051231 | 20040229 |
Non-Matches |
19990101 | 20053112 | 20050229 |
Author |
Rating:
Dany Lauener
|
Title |
Test
Details
Pattern Title
|
Expression |
^((0[1-9])|(1[0-2]))$ |
Description |
Matches month, requires that months 1-9 have a leading 0 |
Matches |
01 | 02 | 12 |
Non-Matches |
1 | 2 | 13 |
Author |
Rating:
Tim Macrina
|
Title |
Test
Details
Pattern Title
|
Expression |
^([1-9]|1[0-2]|0[1-9]){1}(:[0-5][0-9][aApP][mM]){1}$ |
Description |
Very simple expression to validate time on a 12 hour clock, this expression is valid for client-side script validations (RegularExpressionValidator - ASP.NET). |
Matches |
08:00AM | 10:00am | 7:00pm |
Non-Matches |
13:00pm | 12:65am |
Author |
Rating:
Roberto Hernández
|
Title |
Test
Details
mm/dd/yyyy hh:MM:ss AM/PM DateTime
|
Expression |
(?n:^(?=\d)((?<month>(0?[13578])|1[02]|(0?[469]|11)(?!.31)|0?2(?(.29)(?=.29.((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|(16|[2468][048]|[3579][26])00))|(?!.3[01])))(?<sep>[-./])(?<day>0?[1-9]|[12]\d|3[01])\k<sep>(?<year>(1[6-9]|[2-9]\d)\d{2})(?(?=\x20\d)\x20|$))?(?<time>((0?[1-9]|1[012])(:[0-5]\d){0,2}(?i:\x20[AP]M))|([01]\d|2[0-3])(:[0-5]\d){1,2})?$) |
Description |
New DateTime Regex. Rebuilt better than before, better, stronger, faster. |
Matches |
1/31/2002 10 AM | 2/29/2004 | 4:15:04 PM |
Non-Matches |
2/29/2003 | 12/32/2003 | 4:00 |
Author |
Rating:
Michael Ash
|
Title |
Test
Details
Pattern Title
|
Expression |
^(((0?[1-9]|[12]\d|3[01])[\.\-\/](0?[13578]|1[02])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}|\d))|((0?[1-9]|[12]\d|30)[\.\-\/](0?[13456789]|1[012])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}|\d))|((0?[1-9]|1\d|2[0-8])[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}|\d))|(29[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00|[048])))$ |
Description |
This regexp has been posted specialy for "Mike O Shea" as he requested a mono digit year validation.
matches DD/MM/Y or DD/MM/YYYY or D/M/Y or DD/M/YYYY
Leap years treated. (Italian style with tomato)
Years 0-9 equal years 2000 to 2009 for leap years |
Matches |
1/1/2005 | 29/02/12 | 29/02/2400 |
Non-Matches |
29/2/2005 | 29/02/13 | 29/02/2200 |
Author |
Rating:
Dany Lauener
|
Title |
Test
Details
Pattern Title
|
Expression |
^(((0?[1-9]|[12]\d|3[01])[\.\-\/](0?[13578]|1[02])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|[12]\d|30)[\.\-\/](0?[13456789]|1[012])[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|((0?[1-9]|1\d|2[0-8])[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?\d{2}))|(29[\.\-\/]0?2[\.\-\/]((1[6-9]|[2-9]\d)?(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)|00)))$ |
Description |
DD.MM.YY or DD.MM.YYYY
separator could be on choice '.' '/' or '-'
leap years compatible, 00 is treated as year 2000. |
Matches |
29.2.04 | 29/02-2004 | 3.4.05 |
Non-Matches |
29.2.03 | 2902.2004 | 12.31.1975 |
Author |
Rating:
Dany Lauener
|
Displaying page
of
pages;
Items to