正则表达式 日期
Expression: ^(3[0-1]|2[0-9]|1[0-9]|0[1-9])["s{1}|"/|-](Jan|JAN|Feb|FEB|Mar|MAR|Apr|APR|May|MAY|Jun|JUN|Jul|JUL|Aug|AUG|Sep|SEP|Oct|OCT|Nov|NOV|Dec|DEC)["s{1}|"/|-]"d{4}$
Description: More flexible date validator. Allows either spaces, / or - as dividers, also allows for fully uppercase months, year as 4 digit.
Matches: 01 JAN 2003|||31/Dec/2002|||20-Apr-2003
Non-Matches: 32 Jan 2003|||00 Dec 2003|||10 dec 2003
Author: Ian Wallace Rating: Not yet rated.
Title: MMM dd, yyyy Date [Details] [Test]
Expression: ^(?:(((Jan(uary)?|Ma(r(ch)?|y)|Jul(y)?|Aug(ust)?|Oct(ober)?|Dec(ember)?)" 31)|((Jan(uary)?|Ma(r(ch)?|y)|Apr(il)?|Ju((ly?)|(ne?))|Aug(ust)?|Oct(ober)?|(Sept|Nov|Dec)(ember)?)" (0?[1-9]|([12]"d)|30))|(Feb(ruary)?" (0?[1-9]|1"d|2[0-8]|(29(?=," ((1[6-9]|[2-9]"d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00)))))))"," ((1[6-9]|[2-9]"d)"d{2}))
Description: This RE validate Dates in the MMM dd, yyyy format from Jan 1, 1600 to Dec 31, 9999. The format is as follows: The name or 3 letter abbreivation, without a period, of the month, then a space then the day value then a comma then a space finally the year. The correct number of day are validated for each month include leap years. The name of month is case sensitive.
Matches: Jan 1, 2003|||February 29, 2004|||November 02, 3202
Non-Matches: Feb 29, 2003|||Apr 31, 1978|||jan 33,3333
Author: Michael Ash Rating:
Title: dd MMM yyyy Date [Details] [Test]
Expression: ^((31(?!" (Feb(ruary)?|Apr(il)?|June?|(Sep(?="b|t)t?|Nov)(ember)?)))|((30|29)(?!" Feb(ruary)?))|(29(?=" Feb(ruary)?" (((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(uary)?|Feb(ruary)?|Ma(r(ch)?|y)|Apr(il)?|Ju((ly?)|(ne?))|Aug(ust)?|Oct(ober)?|(Sep(?="b|t)t?|Nov|Dec)(ember)?)" ((1[6-9]|[2-9]"d)"d{2})$
Description: This RE validates dates in the dd MMM yyyy format. Spaces separate the values.
Matches: 31 January 2003|||29 March 2004|||29 Feb 2008
Non-Matches: Jan 1 2003|||31 Sept 2003|||29 February 2003
Author: Michael Ash Rating:
Title: Months [Details] [Test]
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: Michael Ash Rating:
Title: Pattern Title [Details] [Test]
Expression: ^(?<From>(JANUARY|FEBRUARY|MARCH|APRIL|MAY|JUNE|JULY|AUGUST|SEPTEMBER|OCTOBER|NOVEMBER|DECEMBER|[ ]|,|/|[0-9])+)(-|–|:|TO)?(?<To>(JANUARY|FEBRUARY|MARCH|APRIL|MAY|JUNE|JULY|AUGUST|SEPTEMBER|OCTOBER|NOVEMBER|DECEMBER|[ ]|,|/|[0-9]|PRESENT)+)+(:)*
Description: This regular expression will match date given in any format expcept (mmm). Its speciality is that it divides dates into <from> part and <to> part. Use Groups to access these parts. e.g. JANUARY 1998 TO JUNE 2000 <From>="JANUARY 1998" <to>="JUNE 2000"
Matches: JANUARY 2000|||19-01-2000|||12/11/2000
Non-Matches: "Hello it is ordinary text"|||"non -date text"
Author: Manpreet Grewal Rating:
Title: Pattern Title [Details] [Test]
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. Please see comments below. This regex will validate a date, time or a datetime. It will also capture the date fields and the time. Dates are in the MM/DD/YYYY format and validated for months, number of days in a month and leap years (2/29) Month and day field less than 10 may have a leading 0. Years are 4 digits. Range 1600-9999 Date field can be separted by matched periods(.), dashes(-) or forward slashes(/). Time is either 12 hour AM/PM format (HH:mm:ss AM), where minutes and seconds are optional. AM or PM required. or 24 hour military format (HH:mm:SS), from 00:00:00 to 23:59:59, where hours and minutes fields are required, including leading 0 for hours less than 10. Datetime is the above date and time formats separated by a space, with the date first (MM/DD/YYYY HH:mm:SS) !IMPORTANT NOTE: your regex engine must support lookaheads and named groups to use this expression Also this version allow for capture of the date parts which you can then use in your code month = "1 sep = "2 day = "3 year = "4 time = "5
Matches: 1/31/2002 10 AM|||2/29/2004|||4:15:04 PM
Non-Matches: 2/29/2003|||12/32/2003|||4:00
Author: Michael Ash Rating:
Title: Pattern Title [Details] [Test]
Expression: (?n:^(?="d)((?<day>31(?!(.0?[2469]|11))|30(?!.0?2)|29(?(.0?2)(?=.{3,4}(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])(?<sep>[/.-])(?<month>0?[1-9]|1[012])"2(?<year>(1[6-9]|[2-9]"d)"d{2})(?:(?="x20"d)"x20|$))?(?<time>((0?[1-9]|1[012])(:[0-5]"d){0,2}(?i:" [AP]M))|([01]"d|2[0-3])(:[0-5]"d){1,2})?$)
Description: DD/MM/YYYY format New DateTime Regex. Rebuilt better than before, better, stronger, faster. This regex will validate a date, time or a datetime. It will also capture the date fields and the time. Dates are in the DD/MM/YYYY format and validated for months, number of days in a month and leap years (29/2) Date field can be separated by matched periods(.), dashes(-) or forward slashes(/). Year range 1600-9999 Time is either 12 hour AM/PM format (HH:mm:ss AM), where minutes and seconds are optional. AM or PM required. or 24 hour military format (HH:mm:SS), from 00:00:00 to 23:59:59, where hours and minutes fields are required, including leading 0 for hours less than 10. Datetime is the above date and time formats separated by a space, with the date first (DD/MM/YYYY HH:mm:SS) !IMPORTANT NOTE: your regex engine must support lookaheads and named groups to use this expression
Matches: 31/12/2003|||29/2/2004 4:50 PM|||23:59:59
Non-Matches: 12/31/2003|||29/2/2003|||4:00
Author: Michael Ash Rating:
Title: Pattern Title [Details] [Test]
Expression: ^(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)",*"s"s*"d{4}$|^(jan|feb|mar|apr|may|jun|jul|aug|sep|oct|nov|dec)",*"s"d{4}$|^(January|February|March|April|May|June|July|August|September|October|November|December)",*"s"d{4}$|^(january|february|march|april|may|june|july|august|september|october|november|december)",*"s"d{4}$
Description: Best Use validation to accept a valid "MonthName(,) Year". It can validate an entry with or without comma (,).
Matches: January 2004|||Jan, 2004|||january 2003
Non-Matches: Janu 2004|||jAn, 2004|||January,2003
Author: Elmer Cadelina Rating: Not yet rated.
Title: Pattern Title [Details] [Test]
Expression: ^([0-9]{2})(00[1-9]|0[1-9][0-9]|[1-2][0-9][0-9]|3[0-5][0-9]|36[0-6])$
Description: Matches a Julian date in the format YYDDD. Two digit year followed by a number from 1 - 366 indicating the day of the year.
Matches: 99366|||00001
Non-Matches: 74000|||04367
Author: Brian James Rating: Not yet rated.
Title: Pattern Title [Details] [Test]
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: Validates date format by DD MMM YYYY. Validates days for each month also. Ensures that month is uppercase.
Matches: 09 MAY 1981|||28 JAN 2004|||8 JUL 2006
Non-Matches: 29 FEB 2003|||28 Oct 2000|||9 APR 03
Title: Pattern Title [Details] [Test]
Expression: ^"d{1,2}"/"d{1,2}"/"d{4}$
Description: This regular expressions matches dates of the form XX/XX/YYYY where XX can be 1 or 2 digits long and YYYY is always 4 digits long.
Matches: 4/1/2001|||12/12/2001|||55/5/3434
Non-Matches: 1/1/01|||12 Jan 01|||1-1-2001
Author: Steven Smith Rating:
Title: Pattern Title [Details] [Test]
Expression: ^(([0-2]"d|[3][0-1])"/([0]"d|[1][0-2])"/[2][0]"d{2})$|^(([0-2]"d|[3][0-1])"/([0]"d|[1][0-2])"/[2][0]"d{2}"s([0-1]"d|[2][0-3])":[0-5]"d":[0-5]"d)$
Description: Correct French DateTime(DD/MM/YYYY OR DD/MM/YYYY HH:MM:SS)
Matches: 12/01/2002|||12/01/2002 12:32:10
Non-Matches: 32/12/2002|||12/13/2001|||12/02/06
Author: Samir AZZA Rating:
Title: Pattern Title [Details] [Test]
Expression: ^(((((0[13578])|([13578])|(1[02]))["-"/"s]?((0[1-9])|([1-9])|([1-2][0-9])|(3[01])))|((([469])|(11))["-"/"s]?((0[1-9])|([1-9])|([1-2][0-9])|(30)))|((02|2)["-"/"s]?((0[1-9])|([1-9])|([1-2][0-9]))))["-"/"s]?"d{4})("s(((0[1-9])|([1-9])|(1[0-2]))":([0-5][0-9])(("s)|(":([0-5][0-9])"s))([AM|PM|am|pm]{2,2})))?$
Description: Following expression can be used to validate a datetime column from SQL Server. This expression is an enhanced version of Scott Watermasysk's date/time submission. It now accepts leading zeros in months, days, and hours. In addition, this expression properly handles the 11th hour. Watermasysk's would take the 10th and 12th hour but not the 11th. This regex has been tweaked to do so. Does not handle the February 29th problem on non-leap years yet. Will learn a little more about RegEx and do so in later submission.
Matches: 11/30/2003 10:12:24 am|||2/29/2003 08:14:56 pm|||5/22/2003
Non-Matches: 11/31/2003 10:12:24 am|||2/30/2003 08:14:56 pm|||5/22/2003 14:15
Author: David Darling Rating:
Title: Pattern Title [Details] [Test]
Expression: ^["w-".]+@(["w-]+".)+["w-]{2,3}$
Description: For Date format MM-JJ-YYYY validation
Matches: umtsfr@free.fr|||123@dz.com|||regexlib@regexlib.fr
Non-Matches: umtsfr@free|||umtsfrfree.fr|||@free.fr
Author: Hakim SALHI Rating: Not yet rated.
Title: DateTime M/d/y hh:mm:ss [Details] [Test]
Expression: ^(?="d)(?:(?:(?:(?:(?:0?[13578]|1[02])("/|-|".)31)"1|(?:(?:0?[1,3-9]|1[0-2])("/|-|".)(?:29|30)"2))(?:(?:1[6-9]|[2-9]"d)?"d{2})|(?:0?2("/|-|".)29"3(?:(?:(?:1[6-9]|[2-9]"d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))|(?:(?:0?[1-9])|(?:1[0-2]))("/|-|".)(?:0?[1-9]|1"d|2[0-8])"4(?:(?:1[6-9]|[2-9]"d)?"d{2}))($|" (?="d)))?(((0?[1-9]|1[012])(:[0-5]"d){0,2}(" [AP]M))|([01]"d|2[0-3])(:[0-5]"d){1,2})?$
Description: DateTime Validator.
Matches: 12/25/2003|||08:03:31|||02/29/2004 12 AM
Non-Matches: 02/29/2003 1:34 PM|||13:23 PM|||24:00:00
Author: Michael Ash Rating:
Title: Time [Details] [Test]
Expression: ^((0?[1-9]|1[012])(:[0-5]"d){0,2}(" [AP]M))$|^([01]"d|2[0-3])
Description: This RE validates times patterns.
Matches: 1 AM|||23:00:00|||5:29:59 PM
Non-Matches: 13 PM|||13:60:00|||00:00:00 AM
Author: Michael Ash Rating:
Title: Pattern Title [Details] [Test]
Expression: (((0[1-9]|[12][0-9]|3[01])([/])(0[13578]|10|12)([/])("d{4}))|(([0][1-9]|[12][0-9]|30)([/])(0[469]|11)([/])("d{4}))|((0[1-9]|1[0-9]|2[0-8])([/])(02)([/])("d{4}))|((29)(".|-|"/)(02)([/])([02468][048]00))|((29)([/])(02)([/])([13579][26]00))|((29)([/])(02)([/])([0-9][0-9][0][48]))|((29)([/])(02)([/])([0-9][0-9][2468][048]))|((29)([/])(02)([/])([0-9][0-9][13579][26])))
Description: Date in DD/MM/YYYY format. Fecha en formato DD/MM/AAAA.
Matches: 28/12/2003|||28/02/2003|||29/02/2000
Non-Matches: 28-02-2003|||30/02/2003|||28.02.2003
Author: Mathews Inga Rating:
Title: Pattern Title [Details] [Test]
Expression: ^((((((0?[13578])|(1[02]))["-"/"s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))["-"/"s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2["-"/"s]?((0?[1-9])|([1-2][0-9]))))["-"/"s]?"d{2}(([02468][048])|([13579][26])))|(((((0?[13578])|(1[02]))["-"/"s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))["-"/"s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2["-"/"s]?((0?[1-9])|(1[0-9])|(2[0-8]))))["-"/"s]?"d{2}(([02468][1235679])|([13579][01345789]))))("s(((0?[1-9])|(1[0-2]))":([0-5][0-9])(("s)|(":([0-5][0-9])"s))([AM|PM|am|pm]{2,2})))?$
Description: This regex will match SQL Server datetime values, allowing date only, allowing zero padded digits in month, day and hour, and will match leap years from 1901 up until 2099.
Matches: 2/29/2004|||04/01/2003 10:01:23 am|||03-20-1999
Non-Matches: 2/29/2003|||13/30/2001 10:05:00 pm|||12/32/2003
Author: Sung Lee Rating:
Title: Pattern Title [Details] [Test]
Expression: ^(("d{2}(([02468][048])|([13579][26]))["-"/"s]?((((0?[13578])|(1[02]))["-"/"s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))["-"/"s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2["-"/"s]?((0?[1-9])|([1-2][0-9])))))|("d{2}(([02468][1235679])|([13579][01345789]))["-"/"s]?((((0?[13578])|(1[02]))["-"/"s]?((0?[1-9])|([1-2][0-9])|(3[01])))|(((0?[469])|(11))["-"/"s]?((0?[1-9])|([1-2][0-9])|(30)))|(0?2["-"/"s]?((0?[1-9])|(1[0-9])|(2[0-8]))))))("s(((0?[1-9])|(1[0-2]))":([0-5][0-9])(("s)|(":([0-5][0-9])"s))([AM|PM|am|pm]{2,2})))?$
Description: Matches ANSI SQL date format YYYY-mm-dd hh:mi:ss am/pm. You can use / - or space for date delimiters, so 2004-12-31 works just as well as 2004/12/31. Checks leap year from 1901 to 2099.
Matches: 2004-2-29|||2004-02-29 10:29:39 pm|||2004/12/31
Non-Matches: 2003-2-29|||2003-13-02|||2003-2-2 10:72:30 am
Author: Sung Lee Rating:
Title: Pattern Title [Details] [Test]
Expression: ^(([0]?[1-9]|1[0-2])/([0-2]?[0-9]|3[0-1])/[1-2]"d{3})? ?((([0-1]?"d)|(2[0-3])):[0-5]"d)?(:[0-5]"d)? ?(AM|am|PM|pm)?$
Description: Matches variations on date/time/AM-PM. Must have 4 digit year, but everything else is open. Restrictions are: 4 digit year, months 1-12, hours 1-23, minutes and seconds 1-59, any case of AM and PM. If this don't woik, I wrote it, lemmy know.
Matches: 12/30/2002|||12/30/2002 9:35 pm|||12/30/2002 19:35:02
Non-Matches: 18/22/2003|||8/12/99|||8/22/2003 25:00
Author: Michael Gaertner Rating: Not yet rated.