精华内容
下载资源
问答
  • 本文把出生日期分割成几个部分,分步地介绍了实现一个出生日期校验的完整过程。对出生日期正则表达式感兴趣的朋友参考下吧
  • 摘要 腾兴网为您分享:常用的日期时间正则表达式,掌上看家,学宝,水印相机,手柄助手等软件知识,以及手机录音剪辑软件,中国北斗卫星导航系统,自动刷新网页工具,盆景艺术在线,风控在线,叮当客,qbasic,众智...

    摘要 腾兴网为您分享:常用的日期时间正则表达式,掌上看家,学宝,水印相机,手柄助手等软件知识,以及手机录音剪辑软件,中国北斗卫星导航系统,自动刷新网页工具,盆景艺术在线,风控在线,叮当客,qbasic,众智规范标准,备份英语,北大课程网,糖果云,广告文案范文,创造历史2世界大战,波兰地图,怪物猎人世界惨爪龙套等软件it资讯,欢迎关注腾兴网。常用的日期时间正则表达式 下面收藏了大量的日期时间正则匹配函数,包括分钟,时间与秒都能达到。 正则表达式 (?n:^(?=d)((?day31(?!(.0?[2469]|11))|30(?!.0?2)|29(?(.0?2)(?=.{3,4}(1[6-9]|[2-9]d)(0[48...

    常用的日期时间正则表达式

    下面收藏了大量的日期时间正则匹配函数,包括分钟,时间与秒都能达到。

    正则表达式 (?n:^(?=d)((?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]|1d|2[0-8])(?[/.-])(?0?[1-9]|1[012])2(?(1[6-9]|[2-9]d)d{2})(?:(?=x20d)x20|$))?(?((0?[1-9]|1[012])(:[0-5]d){0,2}(?i: [AP]M))|([01]d|2[0-3])(:[0-5]d){1,2})?$)

    匹配 31/12/2003 | 29/2/2004 4:50 PM | 23:59:59

    不匹配 12/31/2003 | 29/2/2003 | 4:00

    正则表达式 ^(?:(?:31(/|-|.)(?:0?[13578]|1[02]))1|(?:(?:29|30)(/|-|.)(?:0?[1,3-9]|1[0-2])2))(?:(?:1[6-9]|[2-9]d)?d{2})$|^(?:29(/|-|.)0?23(?:(?:(?:1[6-9]|[2-9]d)?(?:0[48]|[2468][048]|[13579][26])|(?:(?:16|[2468][048]|[3579][26])00))))$|^(?:0?[1-9]|1d|2[0-8])(/|-|.)(?:(?:0?[1-9])|(?:1[0-2]))4(?:(?:1[6-9]|[2-9]d)?d{2})$

    匹配 29/02/1972 | 5-9-98 | 10-11-2002

    不匹配 29/02/2003 | 12/13/2002 | 1-1-1500

    正则表达式 ^(?:(((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]|1d|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}))

    匹配 Jan 1, 2003 | February 29, 2004 | November 02, 3202

    不匹配 Feb 29, 2003 | Apr 31, 1978 | jan 33,3333

    正则表达式 ^(([0-1]?[0-9])|([2][0-3])):([0-5]?[0-9])(:([0-5]?[0-9]))?$

    匹配 12:15 | 10:26:59 | 22:01:15

    不匹配 24:10:25 | 13:2:60

    正则表达式 (?=d)^(?:(?!(?:10D(?:0?[5-9]|1[0-4])D(?:1582))|(?:0?9D(?:0?[3-9]|1[0-3])D(?:1752)))((?:0?[13578]|1[02])|(?:0?[469]|11)(?!/31)(?!-31)(?!.31)|(?:0?2(?=.?(?:(?:29.(?!000[04]|(?:(?:1[^0-6]|[2468][^048]|[3579][^26])00))(?:(?:(?:dd)(?:[02468][048]|[13579][26])(?!x20BC))|(?:00(?:42|3[0369]|2[147]|1[258]|09)x20BC))))))|(?:0?2(?=.(?:(?:dD)|(?:[01]d)|(?:2[0-8])))))([-./])(0?[1-9]|[12]d|3[01])2(?!0000)((?=(?:00(?:4[0-5]|[0-3]?d)x20BC)|(?:d{4}(?!x20BC)))d{4}(?:x20BC)?)(?:$|(?=x20d)x20))?((?:(?:0?[1-9]|1[012])(?::[0-5]d){0,2}(?:x20[aApP][mM]))|(?:[01]d|2[0-3])(?::[0-5]d){1,2})?$

    匹配 11/24/0004 11:59 PM | 2.29.2008 | 02:50:10

    不匹配 12/33/1020 | 2/29/2005 | 13:00 AM

    正则表达式 ^([0]?[1-9]|[1|2][0-9]|[3][0|1])[./-]([0]?[1-9]|[1][0-2])[./-]([0-9]{4}|[0-9]{2})$

    匹配 10/03/1979 | 1-1-02 | 01.1.2003

    不匹配 10/03/197 | 09--02--2004 | 01 02 03

    正则表达式 ^((0?[13578]|10|12)(-|/)(([1-9])|(0[1-9])|([12])([0-9]?)|(3[01]?))(-|/)((19)([2-9])(d{1})|(20)([01])(d{1})|([8901])(d{1}))|(0?[2469]|11)(-|/)(([1-9])|(0[1-9])|([12])([0-9]?)|(3[0]?))(-|/)((19)([2-9])(d{1})|(20)([01])(d{1})|([8901])(d{1})))$

    匹配 1/2/03 | 02/30/1999 | 3/04/00

    不匹配 3/4/2020 | 3/4/1919 | 4/31/2000

    正则表达式 ^([2-9]d{3}((0[1-9]|1[012])(0[1-9]|1d|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)$

    匹配 20000101 | 20051231 | 20040229

    不匹配 19990101 | 20053112 | 20050229

    正则表达式 ^([1-9]|1[0-2]|0[1-9]){1}(:[0-5][0-9][aApP][mM]){1}$

    匹配 08:00AM | 10:00am | 7:00pm

    不匹配 13:00pm | 12:65am

    正则表达式 ^(([1-9])|(0[1-9])|(1[0-2]))/(([0-9])|([0-2][0-9])|(3[0-1]))/(([0-9][0-9])|([1-2][0,9][0-9][0-9]))$

    匹配 01/01/2001 | 1/1/1999 | 10/20/2080

    不匹配 13/01/2001 | 1/1/1800 | 10/32/2080

    正则表达式 ^d{1,2}/d{1,2}/d{4}$

    匹配 4/1/2001 | 12/12/2001 | 55/5/3434

    不匹配 1/1/01 | 12 Jan 01 | 1-1-2001

    正则表达式 (d{2}|d{4})(?:-)?([0]{1}d{1}|[1]{1}[0-2]{1})(?:-)?([0-2]{1}d{1}|[3]{1}[0-1]{1})(?:s)?([0-1]{1}d{1}|[2]{1}[0-3]{1})(?::)?([0-5]{1}d{1})(?::)?([0-5]{1}d{1})

    匹配 00-00-00 00:00:00 | 0000-00-00 00:00:00 | 09-05-22 08:16:00 | 1970-00-00 00:00:00 | 20090522081600

    不匹配 2009-13:01 00:00:00 | 2009-12-32 00:00:00 | 2002-12-31 24:00:00 | 2002-12-31 23:60:00 | 02-12-31 23:00:60

    正则表达式 ^(?=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))(?:(?:dd)(?:[02468][048]|[13579][26]))D0?2D29)|(?:d{4}D(?!(?:0?[2469]|11)D31)(?!0?2(?:.|-|/)(?:29|30))))(d{4})([-/.])(0?d|1[012])2((?!00)[012]?d|3[01])(?:$|(?=x20d)x20))?((?:(?:0?[1-9]|1[012])(?::[0-5]d){0,2}(?:x20[aApP][mM]))|(?:[01]d|2[0-3])(?::[0-5]d){1,2})?$

    匹配 0008-02-29 | 2:34:59 PM | 9999/12/31 11:59 PM

    不匹配 04/04/04 | 1:00 | 1999/1/32

    正则表达式 ^(([1-9]{1})|([0-1][0-9])|([1-2][0-3])):([0-5][0-9])$

    匹配 00:00 | 23:59 | 10:10

    不匹配 24:00 | 00:60 | 25:61

    正则表达式 ^[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)))$

    匹配 2004-04-30 | 2004-02-29

    不匹配 2004-04-31 | 2004-02-30

    相关推荐

    展开全文
  • 出生日期格式正则表达式

    千次阅读 2019-10-03 14:47:34
    出生日期格式正则表达式 比如:1990-02-20 NSString *pattern = @"^\\d{4}-\\d{2}-\\d{2}$"; NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pattern]; BOOL isMatch = [pred ...

    出生日期格式正则表达式

    比如:1990-02-20
    NSString *pattern = @"^\\d{4}-\\d{2}-\\d{2}$";
        NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pattern];
        
        BOOL isMatch = [pred evaluateWithObject:@"1990-09-2"];
    
    展开全文
  • 目的:利用日期正则表达式之识别合法日期 工具: regexp_like函数,日期正则表达式 适用范围: 日期格式为YYYY-MM-DD,字段类型为DATE类型或varchar2类型。注:两种字段类型在用法上有些差别, * 日期正则...

    *

    目的:利用日期正则表达式之识别合法日期

    工具: regexp_like函数,日期正则表达式

    适用范围: 日期格式为YYYY-MM-DD,字段类型为DATE类型或varchar2类型。注:两种字段类型在用法上有些差别,

    *
    日期正则表达式:是由多个正则表达式组成,识别了1900-01-01至2099-12-30。如果需求其他日期,可以自己添加

    ^((((19|20)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((19|20)\d{2})-(0?[469]|11)-(0?[1-9]|[12]\d|30))|(((19|20)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))-0?2-(0?[1-9]|[12]\d)))$
    

    正则表达式分段介绍:
    第一段:识别1900年至2099年1月、3月、5月、7月、8月、10月、12月中01天-31天。

    (((19|20)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))

    第二段:识别1900年至2099年4月、6月、9月、11月中的01天-30天

    (((19|20)\d{2})-(0?[469]|11)-(0?[1-9]|[12]\d|30))

    第三段:识别1900年至2099年02月01天-28天

    (((19|20)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))

    第四段:识别1900年至2099年中的闰年(2月有29天)

    ((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))-0?2-(0?[1-9]|[12]\d))
    建议可以直接写成,自己理解
    ((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))-0?2-29)

    当字段类型为varchar2时,用法

    SELECT c.BIRTHDAY FROM P_C_CI_PERSON c WHERE regexp_like(c.birthday,'^((((19|20)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((19|20)\d{2})-(0?[469]|11)-(0?[1-9]|[12]\d|30))|(((19|20)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))-0?2-(0?[1-9]|[12]\d)))$');
    

    字段类型为DATE时,用法

    SELECT  c.IDENT_EXPIRED_DATE 
    FROM m_ci_per_identifier c 
    WHERE regexp_like(c.IDENT_EXPIRED_DATE,'(((19|20)\d{2})-(0[13578]|1[02])-(0[1-9]|[12]\d|3[01]))|(((19|20)\d{2})-(0[469]|11)-(0[1-9]|[12]\d|30))|(((19|20)\d{2})-02-(0[1-9]|1\d|2[0-8]))|((((19|20)([13579][26]|[2468][048]|0[48]))|(2000))-02-(0[1-9]|[12]\d))')
    

    展开全文
  • 验证日期正则表达式

    2017-02-02 23:38:39
    1.验证日期正则表达式加入闰年的判断以及思路分析 进入正题之前,我们需要澄清两个概念: 一,什么是合法的日期范围?对于不同的应用场景,这个问题有不同的解释。这里采纳MSDN中的约定: DateTime 值类型...

    1.验证日期的正则表达式加入闰年的判断以及思路分析

    进入正题之前,我们需要澄清两个概念:

    一,什么是合法的日期范围?对于不同的应用场景,这个问题有不同的解释。这里采纳MSDN中的约定:

    DateTime 值类型表示值范围在公元(基督纪元)0001 年 1 月 1 日午夜 12:00:00 到公元 (C.E.) 9999 年 12 月 31 日晚上 11:59:59 之间的日期和时间。
    二,关于闰年的阐释。人民教育出版社小学数学室的解释浅明易懂(mediawiki等都没说明为什么  整百年份必须是400的倍数时才是闰年):
    关于公历闰年是这样规定的:地球绕太阳公转一周叫做一回归年,一回归年长365日5时48分 46秒。因此,公历规定有平年和闰年,平年一年有365日,比回归年短0.2422日,四年共短0.9688日,故每四年增加一日,这一年有366日,就 是闰年。但四年增加一日比四个回归年又多0.0312日,400年后将多3.12日,故在400年中少设3个闰年,也就是在400年中只设97个闰年,这 样公历年的平均长度与回归年就相近似了。由此规定:年份是整百数的必须是400的倍数才是闰年,例如1900年、2100年就不是闰年。
    清楚了以上两个概念,我们进入正题。
    首先需要验证年份,显然,年份范围为 0001 - 9999,匹配YYYY的正则表达式为:
    [0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3}
    其中 [0-9] 也可以表示为 /d,但 /d 不如 [0-9] 直观,因此下面我将一直采用 [0-9] 

    用正则表达式验证日期的难点有二:一是大小月份的天数不同,二是闰年的考虑。 
    对于第一个难点,我们首先不考虑闰年,假设2月份都是28天,这样,月份和日期可以分成三种情况: 

    1、月份为 1, 3, 5, 7, 8, 10, 12,天数范围为 01 - 31,匹配MM-DD的正则表达式为:
    (0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01])
    2、月份为 4, 6, 9, 11,天数范围为 01-30,匹配MM-DD的正则表达式为:
    (0[469]|11)-(0[1-9]|[12][0-9]|30)
    3、月份为 2,考虑平年情况,匹配MM-DD的正则表达式为:
    02-(0[1-9]|[1][0-9]|2[0-8])
    根据上面的成果,我们可以得到匹配平年日期格式为YYYY-MM-DD的正则表达式: 

    ([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))) 

    接着我们来解决第二个难点:闰年的考虑。根据闰年的定义,我们可以将闰年分为两类: 

    1、能被4整除但不能被100整除的年份。寻找后两位的变化规律,可以很快得到下面的正则匹配:
    ([0-9]{2})(0[48]|[2468][048]|[13579][26])
    2、能被400整除的年份。能被400整除的数肯定能被100整除,因此后两位肯定是00,我们只要保证前两位能被4整除即可,相应的正则表达式为:
    (0[48]|[2468][048]|[3579][26])00
    2.最强验证日期的正则表达式,添加了闰年的验证

    这个日期正则表达式支持
    YYYY-MM-DD 
    YYYY/MM/DD 
    YYYY_MM_DD 
    YYYY.MM.DD的形式

    match : 
    2008-2-29 2008/02/29

    not match : 2008-2-30 2007-2-29

    完整的正则表达式如下:
    ((^((1[8-9]/d{2})|([2-9]/d{3}))([-///._])(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])$)|(^([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])([-///._])(0?2)([-///._])(29)$))
    闰年的2月份有29天,因此匹配闰年日期格式为YYYY-MM-DD的正则表达式为:  

    (([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29

    最后,将平年和闰年的日期验证表达式合并,我们得到最终的验证日期格式为YYYY-MM-DD的正则表达式为:

    (([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8]))))|((([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00))-02-29)

    DD/MM/YYYY格式的正则验证表达式为:

    (((0[1-9]|[12][0-9]|3[01])/((0[13578]|1[02]))|((0[1-9]|[12][0-9]|30)/(0[469]|11))|(0[1-9]|[1][0-9]|2[0-8])/(02))/([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3}))|(29/02/(([0-9]{2})(0[48]|[2468][048]|[13579][26])|((0[48]|[2468][048]|[3579][26])00)))

    原文地址:https://my.oschina.net/u/1398304/blog/279441

    展开全文
  • 日期的正则表达式,添加了闰年的验证这个日期正则表达式支持YYYY-MM-DD YYYY/MM/DD YYYY_MM_DD YYYY.MM.DD的形式match : 2008-2-29 2008/02/29not match : 2008-2-30 2007-2-29完整的正则表达式如下:((^((1[8-9]/d{2}...
  • 正则表达式日期字符串进行验证:说明:1:日期格式为,如:2008/8/8 12或是2008/08/08 23都是正确的。2:可以对0000~9999年中的任一天的日期进行合法性验证。3:对于闰年时2月有29号此种情况也进行有效验证。//验证...
  • 在表单验证中,经常会用正则表达式出生日期校验。本文把出生日期分割成几个部分,分步地介绍了实现一个出生日期校验的完整过程。相信您在理解了本篇的内容后,对如何编写和如何应用正则表达式会有进一步的理解和...
  • 在表单验证中,经常会用正则表达式出生日期校验。本文把出生日期分割成几个部分,分步地介绍了实现一个出生日期校验的完整过程。相信您在理解了本篇的内容后,对如何编写和如何应用正则表达式会有进一步的理解和...
  • 正则表达式又叫规则表达式,一般用来检查字符串中是否有与规则相匹配的子串,达到可以对匹配的子串进行提取、删除、替换等操作的目的。先了解有哪些方法可以使用正则来实现这些操作。 本文主要是通过实例讲解js正则...
  • 正则表达式匹配过程中,如果子表达式匹配到的字符内容,而非位置,并被保存到最终的匹配结果中,那么就认为这个子表达式是占有字符的;如果子表达式匹配的仅仅是位置,或者匹配的内容并不保存到最终的匹配结果中,...
  • 关于身份证号,出生日期等的js正则表达式验证 有几种方式
  • 正则表达式

    2020-12-11 14:53:23
    JAVA正则表达式 正则表达式 正则表达式,用于字符串的匹配,可以控制输入和输出,实现字符串的验证,查找和替换。 常见的正则表达式 对一些正则表达式的理解 限定符 1.在正则表达式的规则中,. 表示 匹配除换...
  • 学习正则表达式

    2021-06-05 21:26:53
    首先要明白正则表达式可以干什么? 正则表达式是用于匹配字符串中字符组合的模式。简单的说就是比如你想知道一串数字是否是正确的手机号。就需要用到正则表达式。由于之前一直对正则表达式的知识比较薄弱,所以在此...
  • 正则表达式6___常用的正则表达式

    千次阅读 2011-11-19 10:14:19
    本篇博客收录了一些常用的正则表达式,收录的目的有两个:  一是通过解决 实际问题对前面 5 篇作一个总结 二是向大家提供一些现成的模式以帮助大家节省这方面的时间和精力 常用的正则表达式 1 中国的固定电话号码 ...
  • JavaScript 正则表达式

    2019-12-12 21:29:46
    JavaScript 正则表达式 了解正则表达式基本语法 能够使用JavaScript的正则对象 正则表达式简介 什么是正则表达式 正则表达式:用于匹配规律规则的表达式,正则表达式最初是科学家对人类神经系统的工作原理的早期...
  • javascript 正则表达式

    2020-12-16 00:11:00
    假设用户需要在 HTML 表单中填写姓名、地址、出生日期等。那么在将表单提交到服务器进一步处理前,JavaScript 程序会检查表单以确认用户确实输入了信息并且这些信息是符合要求的。 正则表达式,super string。 正则...
  •  //去除图片的正则 // string regexstr = @""; //去除所有标签,只剩br // string regexstr = @""; //去除table里面的所有内容 string regexstr = @""; //去除所有标签,只剩img,br,p 本文来源于网络:查看 >...
  • JS正则表达式

    2019-02-12 09:07:05
    假设用户需要在 HTML 表单中填写姓名、地址、出生日期等。那么在将表单提交到服务器进一步处理前,JavaScript 程序会检查表单以+ 确认用户确实输入了信息并且这些信息是符合要求的。 正则表达式,super string。 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,277
精华内容 2,110
关键字:

出生日期的正则表达式