精华内容
下载资源
问答
  • 判断日期正则表达式
    千次阅读
    2014-10-23 16:23:12
    <span style="font-size:18px;"><span style="color:#009900;">/**
     * 验证日期
     * 不仅仅匹配了日期格式,而且对日期的逻辑做了严格要求,判断了大月31天,小月30天,2月28,闰年情况2月29天
     */</span>
    function isNotDate(date){
        var reg = /((^((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)$))/ig;
        if(!reg.test(date)){
            return true;
        }
        return false;
    }</span>

    更多相关内容
  • 其实我也很头疼正则表达式,百度了一些资料,总结一下,这里留个备份吧。 要考虑的问题:合法的日期是多少;每个月的天数不一样;闰年的问题。。。。 1、合法的日期:MSDN上规定–在公元(基督纪元)0001 年 1 月 1 ...
  • layui的正则表达式是在form表单中完成的。所以第一步要在你的html中加上指定的form 。 官方参考文档:https://www.layui.com/doc/element/form.html 要保证引用的layui模块中有form.js存在。 快速步骤引用form.js...
  • 主要介绍了java基于正则表达式实现时间日期的常用判断操作,简单说明了正则表达式常用元字符含义并结合实例形式分析了java基于正则表达式针对常用日期时间格式的判断操作技巧,需要的朋友可以参考下
  • 本文给大家介绍使用C#判断输入日期格式是否正确的方法。本文给大家分享了两段代码,代码非常简单易懂,感兴趣的朋友一起看看吧
  • 摘要 腾兴网为您分享:常用的日期时间正则表达式,掌上看家,学宝,水印相机,手柄助手等软件知识,以及手机录音剪辑软件,中国北斗卫星导航系统,自动刷新网页工具,盆景艺术在线,风控在线,叮当客,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

    相关推荐

    展开全文
  • JS怎么用正则表达式判断输入的日期格式为 yyyy-mm-dd请大家把具体代码发布一下 ...js 写 验证日期正则表达式按照 这样的验证格式写 年-月-日 例如 1987-09-01 js里正则表达式怎么写如果单纯用正则的话,去掉第一个/...

    JS怎么用正则表达式判断输入的日期格式为 yyyy-mm-dd请大家把具体代码发布一下 最好是有代码注释滴 麻烦大家哒/^\d{4}\-\d{2}\-\d{2}$/ 这里只是限制了格式必须是yyyy-mm-dd ,如果想做的年月日校验很精准,那比较麻烦。

    js 写 验证日期正则表达式

    按照 这样的验证格式写 年-月-日 例如 1987-09-01 js里正则表达式怎么写如果单纯用正则的话,去掉第一个/和最后的/ig 简单的日期格式验证: /^([1-2]\d{3})[\/|\-](0?[1-9]|10|11|12)[\/|\-]([1-2]?[0-9]|0[1-9]|30|31)$/ig 下面的正则式不仅仅匹配了日期格式,而且对日期的逻辑做了严格要分享,判断了大月31天。

    6497b49a75b560aaaeae8234498f7d5e.png

    分享一js正则表达式验证YYYY/MM/DD格式日期。

    代码如下: /*日期验证dd/mm/yyyy*/ functionisDate(str){ vardate=str; varresult=date.match(/^([0]?[1-9]|[1|2][0-9]|[3][0|1])[/]([0]?[1-9]|[1][0-2])[/]([0-9]{4}|[0-9]{2})$/); if(result==null) returnfalse; vard=newDate(result[3],re有些事心里清楚就好,不必去验证问清楚了就彻底完了。

    验证日期格式的正则表达式,日期格式必须为1988101\b\d{4}((?:0[13578]|1[02])(?:0[1-9]|[12]\d|3[01])|02(?:0[1-9]|[12]\d)|(?:0[469]|11)(?:0[1-9]|[12]\d|30))\b 小编把你的备注改成了你的名字,连名带姓最初的样子。

    尽可能做了日期合格性保证,但有关闰年的判断用正则表达式难以实现,故2月一概允许29日 你以为热情主动他会感动,你以为你患得患失他会心痛,其实都没有,只有你一次又一次犯贱再主动。

    对年份没有特殊限制,如欲限制。人生最遗憾的,莫过于,轻易地放弃了不该放弃的,固执地坚持了不该坚持的。

    js正则表达式如何验证文本框输入的时间格式 为下列2002-04-30 00:0000很多人喜欢做两件事,留一个看得见的伤口,等一个看不见的人。

    楼主欢迎来到土嘎嘎,正则匹配最重要的是你要知道所有可能的变化。 如果格式非常一致,就像你举的例子一样,那么一个很简单的匹配,如下就能解决问题: \d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2} 如果是变化比较多,比如年份可能是2位。

    js正则表达式验证时间格式yyyy/MM/dd HH:mm

    这样的正则表达如何写,(年和月中间必须是“/”月和日也一样HH24小时/^\d{4,}\/(?:0?\d|1[12])\/(?:[012]?\d|3[01]) (?:[01]?\d|2[0-4]):(?:[0-5]?\d|60)$/.test('2015/11/3 12:24')有些事藏在心里是莫大的委屈,话到嘴边又觉得无足挂齿不值一提。

    java中Js验证日期的正则表达式格式为:yyyy/MM/dd有人说,当你有了固定歌单后,你就很少会去听新歌,但假如有一天路过某个小街不小心听到了喜欢的,你会把它下载来单曲循环到死。

    自己在网上找的正则是:var result = date.match(/((^((1[8-9]\d{2})|([等一个不爱你的人,就像在夏天里等雪,在冬天里等花开,小编不等你,小编等自己死心。

    var result=data.match(/((^((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走出来不代表不爱,走出来就是睡一觉的事,最大的感觉就是,一切都有目标和规划了。

    正则表达式在js中判断日期时间类型光阴浩淼岁月弄人,没谁能留下,众生皆过客。小编们对时间而言,只算一个不起眼的节点,都是赤裸而来,空手而归。所有的挣扎努力终要幻化云烟,曾经的心绪情感最后荡然无迹。对往人往事,勿追忆过甚,失却的唯有放下,方会少些负重;看此世今生,莫摇摆无定,只要珍惜了努力了,岂枉白来一回。

    /[,./:\\[]]/; 中间加你要屏蔽的字符 操,腾讯,你干嘛???正则这样写有错么??这审核你妈了吧,每次都那样。

    分享一JS日期正则表达式,格式yyyy-MM-dd hh:mm:ss 有些苦,咽下去,消化了,才会得到别人的信任。被信任不是你说自己有多强,而是面对困难,你有多安静。

    ^\d{4}-(0\d|1[0-2])-([0-2]\d|3[01])( ([01]\d|2[0-3])\:[0-5]\d\:[0-5]\d)?$ 这个正则 yyyy-MM-dd hh:mm:ss可以 yyyy-MM-dd 后面不带准备时间也可以 如果一定要准备时间, 去掉最后一个问号, 如下 ^\d{4}-(0\d|1[0-2])-([0-2]\d|3[01])( ([01]\或许,是小编自作多情,让小编自导自演出了这场悲剧。

    正则表达式,判断格式为yyyyMMdd的日期格式。

    首先新建一个html文件,命名为test.html,在test.html文件内,使用input标签创建一个日期输入框,并设置其id属性为shijian。 对你的记忆只有那张模糊的背影,至今还不知道你的名你的姓。

    在test.html文件内,使用button标签创建一个按钮,当按钮被点击,执行check()函数。 但小编总是从每一件碌碌人生无关紧要的事情里转几个弯又想到你

    在test.html文件内,创建一时间总是把最好的人留到最后,毕竟喜欢就像一阵风,而爱是细水长流。

    展开全文
  • 很多时候我们都是通过一组正则表达式判断用户输入的身份证是否合法,那在用正则表达式判断之前,首先要做到的是对身份证信息的一些效验规则的知晓:  1、号码的结构  公民身份号码是特征组合码,由十七位数字...
  • 主要介绍了PostgreSQL 正则表达式 常用函数的总结的相关资料,对那些需要进行复杂数据处理的程序来说,正则表达式无疑是一个非常有用的工具,这里就介绍下如何使用,需要的朋友可以参考下
  • 本文实例讲述了正则表达式实现将MM/DD/YYYY格式的日期转换为YYYY-MM-DD格式的方法。分享给大家供大家参考。具体实现方法如下: 代码如下: <html> <head><title>正则表达式</title></...
  • 由于工作需要对用户提交的数据进行验证,这是一个简单的日期正则验证实例,有需要了解的同学可参考。 shell中的if语句需要做一个正则判断,查了一下语法记录之。 DATEPATTERN=^[0-9]{4}-[0-9]{1,2}-[0-9]{1,2}$ if...
  • 日期正则表达式

    2021-09-14 16:12:02
    日期正则表达式 提取月份中有31天的正则表达式 // 月中 31天 即 有 01-09 | 10-29 | 30 31 天 String dayOf31 = "0[1-9]|[12][0-9]|3[01]"; // 有31 天的月份 1 3 5 7 8 10 12 月 String monthOf31 = "0?[13578]|1...

    日期正则表达式

    提取月份中有31天的正则表达式

     // 月中 31天 即 有 01-09 | 10-29 | 30 31 天
    String dayOf31 = "0[1-9]|[12][0-9]|3[01]";
    // 有31 天的月份 1 3 5 7 8 10 12 月
    String monthOf31 = "0?[13578]|1[02]";
    // 有31 天的月份 1 3 5 7 8 10 12 月
    String eMonthOf31 = "January|March|May|July|August|October|December|Jan|Mar|Jul|Aug|Oct|Dec";
    

    提取月份中有30天的正则表达式

    // 月中有 30天  01-09 | 10-29 | 30 天
    String dayOf30 = "0[1-9]|[12][0-9]|30";
    // 有30天的月份 : 4 6 9 11月
    String monthOf30 = "0?[469]|11";
    // 英文月份 : 有30天的月份 : 4 6 9 11月
    String eMonthOf30 = "April|June|September|November|Apr|Jun|Sep|Nov";
    

    提取 平年和闰年的2月份的正则表达式

    // 匹配 2 月份
    String regFeb = "0?2";
    // 英文月份 : 2 月份
    String eRegFeb = "February|Feb";
    // 匹配 2月份的天数 平年  01- 28 天
    String commFeb = "0[1-9]|1[0-9]|2[0-8]]";
    // 匹配2月份的天数 闰年 01 - 29 天
    String leapFeb = "0[1-9]|[12][0-9]";
    

    匹配 所有年份是从0001到9999,要注意不能出现四个数字同时为0的情况,即不能出现0000年,这是非法的年份数字。

    String regOfYear = "[0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]|[0-9][1-9][0-9]{2}|[1-9][0-9]{3}";
    

    匹配 闰年的正则表达式

    //匹配个位十位数不为0的闰年 从 0001 年 到 9999年 ,修改这个就能修改非整百年份的区间 即不匹配 2000年,2100年,3000年, 等等的
    String leapYear = "[0-9]{2}(0[48]|[13579][26]|[2468][048])";
    //匹配整百的闰年 , 从 0100 年 到 9900年, 即 匹配 2000年,2100年,3000年等, 不考虑个位与十位 不是 0的数
    String leapYear100 = "(0?[48]|[13579][26]|[2468][048])00";
    

    匹配平年的正则表达式

    // 平年年份 从 0001 年 到 9999年 ,修改这个就能修改非整百年份的区间 即不匹配 2000年,2100年,3000年等,并且不匹配闰年部分的年份
    String commYear = "[0-9]{2}(0[1-9&&[^48]]|[13579][0-9&&[^26]]|[2468][0-9&&[^048]])";
    // 平年年份 从 0100 年 到 9900年 ,修改这个就能修改整百年份的区间 即匹配 2000年,2100年,3000年等,并且不匹配闰年部分的年份
    String connYear100 = "(0?[1-9&&[^48]]|[13579][0-9&&[^26]]|[2468][0-9&&[^048]])00";
    

    匹配如 : yyyy-MM-dd 的闰年格式

    // 匹配 闰年的正则表达式
    String leapDate =
        "(([0-9]{2}(0[48]|[13579][26]|[2468][048]))|((0?[48]|[13579][26]|[2468][048])00))" +separator+
        "(((0?[13578]|1[02])"+separator+"(0[1-9]|[12][0-9]|3[01]))|" + // 1 3 5 7 8 10 12 有31天
        "((0?[469]|11)"+separator+"(0[1-9]|[12][0-9]|30))|" + // 4 6 9 11 有 30 天
        "((0?2)"+separator+"(0[1-9]|[12][0-9])))"; // 二月份闰年 29 天
    

    匹配如 : yyyy-MM-dd 的平年格式

    // 匹配 平年的正则表达式
    String commDate = "(" +
        "(([0-9]{2}(0[1-9&&[^48]]|[13579][0-9&&[^26]]|[2468][0-9&&[^048]]))|" + // 匹配 个位和十位不是0 的平年
        "((0?[1-9&&[^48]]|[13579][0-9&&[^26]]|[2468][0-9&&[^048]])00))" +separator+ // 匹配个位和十位 是 0 的平年
        "((0?[13578]|1[02])"+separator+"(0[1-9]|[12][0-9]|3[01]))|" + // 1 3 5 7 8 10 12 有31天
        "(((0?[469]|11)"+separator+"(0[1-9]|[12][0-9]|30))|" + // 4 6 9 11 有 30 天
        "((0?2)"+separator+"(0[1-9]|1[0-9]|2[0-8])))" + // 二月份平年 28 天
        ")";
    

    匹配如 : yyyy-MM-dd 的格式,

    // 匹配 全年的正则表达式  即 从0001年到 9999年
    String commDate1 =
            "([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]|[0-9][1-9][0-9]{2}|[1-9][0-9]{3})"+ separator+// 匹配4 位数的 数字, 但是不匹配0000
            "(((0?[13578]|1[02])"+separator+"(0[1-9]|[12][0-9]|3[01]))|" + // 1 3 5 7 8 10 12 有31天
            "((0?[469]|11)"+separator+"(0[1-9]|[12][0-9]|30))|" + // 4 6 9 11 有 30 天
            "((0?2)"+separator+"(0[1-9]|1[0-9]|2[0-8])))"; // 二月份平年 28 天
    

    数字日期的分割格式:

    String separator = "(\\p{Punct}|\\p{Blank})"; // 分割日期的符号 这里定义为任意标点符号,或者空格与制表符
    

    数字日期正则表达式, 支持 各种 分割符号,只需要修改 separator即可

    // 匹配平年与闰年的正则表达式
    String date = // 先判断是不是 闰年 , 如果是闰年 则 存在二月份为 29 天,
        "((([0-9]{2}(0[48]|[13579][26]|[2468][048]))|((0?[48]|[13579][26]|[2468][048])00))"
        +separator+"((0?2)"+separator+"29))"+ // 匹配示例: yyyy-02-29
        "|"+// 否则,无论平年还是闰年,除了2月29日不一样,其他都是一样的 匹配示例: yyyy-MM-dd
        "(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]|[0-9][1-9][0-9]{2}|[1-9][0-9]{3})"+separator+
        "(((0?[13578]|1[02])"+separator+"(0[1-9]|[12][0-9]|3[01]))|" + // 1 3 5 7 8 10 12 有31天
        "((0?[469]|11)"+separator+"(0[1-9]|[12][0-9]|30))|" + // 4 6 9 11 有 30 天
        "((0?2)"+separator+"(0[1-9]|1[0-9]|2[0-8]))))"; // 二月份 平年有 28天
    

    支持匹配 英文与数字日期格式, 匹配示例: yyyy-02-29 或 yyyy-February-29th , yyyy-February-02nd , yyyy-February-01st等等

            // 匹配平年与闰年的正则表达式,包含英文格式
            String date1 = // 先判断是不是 闰年 , 如果是闰年 则 存在二月份为 29 天, // 匹配示例: yyyy-02-29 或 yyyy-February-29th
                    "((([0-9]{2}(0[48]|[13579][26]|[2468][048]))|((0?[48]|[13579][26]|[2468][048])00))"
                    +separator+"(((0?2)"+separator+"29)|("+"(February|Feb)"+separator+"(29th))))"+
                    "|"+// 否则,无论平年还是闰年,除了2月29日不一样,其他都是一样的 匹配示例: yyyy-MM-dd 或者 或 yyyy-英文月份-5th
                    "(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]|[0-9][1-9][0-9]{2}|[1-9][0-9]{3})"+separator+
                    "(((0?[13578]|1[02])"+separator+"(0[1-9]|[12][0-9]|3[01]))|" + // 1 3 5 7 8 10 12 有31天
                    "((0?[469]|11)"+separator+"(0[1-9]|[12][0-9]|30))|" + // 4 6 9 11 有 30 天
                    "((0?2)"+separator+"(0[1-9]|1[0-9]|2[0-8]))|" +
                    "((April|June|September|November|Apr|Jun|Sep|Nov)"+separator+"([012]((1st|2nd|3rd)|([4-9]th))|30th))|"+
                    "((January|March|May|July|August|October|December|Jan|Mar|Jul|Aug|Oct|Dec)"+separator+
                            "([012]((1st|2nd|3rd)|([4-9]th))|30th|31st))|"+
                    "((February|Feb)"+separator+"([01]((1st|2nd|3rd)|([4-9]th))|2[4-8]th))))"; // 二月份 平年有 28天
    

    示例: 从字符串中提取合法的日期

    import java.util.regex.Matcher;
    import java.util.regex.Pattern;
    
    public class MyTest2 {
        public static void main(String[] args) {
            // 分割日期的符号 这里定义为任意标点符号,或者空格与制表符
            String separator = "(\\p{Punct}|\\p{Blank})";
    
             // 匹配平年与闰年的正则表达式
            String date = // 先判断是不是 闰年 , 如果是闰年 则 存在二月份为 29 天,
                    "((([0-9]{2}(0[48]|[13579][26]|[2468][048]))|((0?[48]|[13579][26]|[2468][048])00))"
                    +separator+"((0?2)"+separator+"29))"+ // 匹配示例: yyyy-02-29
                    "|"+// 否则,无论平年还是闰年,除了2月29日不一样,其他都是一样的 匹配示例: yyyy-MM-dd
                    "(([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]|[0-9][1-9][0-9]{2}|[1-9][0-9]{3})"+separator+
                    "(((0?[13578]|1[02])"+separator+"(0[1-9]|[12][0-9]|3[01]))|" + // 1 3 5 7 8 10 12 有31天
                    "((0?[469]|11)"+separator+"(0[1-9]|[12][0-9]|30))|" + // 4 6 9 11 有 30 天
                    "((0?2)"+separator+"(0[1-9]|1[0-9]|2[0-8]))))"; // 二月份 平年有 28天
    
            // 从字符串中提取日期
            Pattern pattern = Pattern.compile (date);
            String str = "啊飒飒大苏打撒2400-2-29asdsdasd2021-12-30asdasd" +
                    "hashdhahsd2020-9-50-asdas2025-8-28";
            Matcher matcher = pattern.matcher(str);
            while (matcher.find()){
                System.out.println("提取的日期为:"+matcher.group());
            }
    
        }
    }
    
    

    运行程序输出结果:

    在这里插入图片描述

    感谢浏览!

    展开全文
  •  很多时候我们都是通过一组正则表达式判断用户输入的身份证是否合法,那在用正则表达式判断之前,你对身份证号的组成有多少了解呢?下面来说说一个身份证号里面包含了多少的信息:  1、号码的结构  公民身份...
  • ^(?:\d{4}(?:-|\/|年))?...可以匹配以下的日期格式: 2019-01-02 2019-1-02 2019-01-2 2019-1-2 01-02 1-02 01-2 1-2 2019/01/02 2019/1/02 2019/01/2 2019/1/2 01/02 1/02 01/2 1/2 2019年01月02日 201...
  • RegExp:是正则表达式(regular expression)的简写。 正则表达式描述了字符的模式对象。可以使用正则表达式来描述要检索的内容。 简单的模式可以是一个单独的字符。更复杂的模式包括了更多...//判断日期类型是否为YYY
  • 说明:工作过程中遇到日期手动输入的需求,想到通过正则来验证日期的格式是否正确。
  • 日期正则表达式(很实用) 日期正则表达式(很实用)日期正则表达式(很实用)日期正则表达式(很实用)
  • 出生日期正则表达式丨出生日期年月日正则如何表达?
  • 这次给大家带来js验证出生日期正则表达式,实现js验证出生日期正则表达式的注意事项有哪些,下面就是实战案例,一起来看一下。简言在表单验证中,经常会用正则表达式做出生日期校验。本文把出生日期分割成几个部分,...
  • oracle日期正则表达式

    2021-05-01 03:03:07
    1900-2999日期正则表达式YYYY-MM-DDselect casewhen regexp_like('2999-11-30','^((((19|2\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((19|2\d)\d{2})-(0?[469]|11)-(0?[1-9]|[12]\d|30))|(((19|2\d)\d{...
  • 最简单的正则 如 : /d{4}-/d{2}-/d{2}但是实际情况却不是那么简单,,要考虑,有效性和闰年等问题.....对于日期的有效范围,不同的应用场景会有所不同。MSDN中定义的DateTime对象的有效范围是:0001-01-01 00:00:00到...
  • JS怎么用正则表达式判断输入的日期格式为 yyyy-mm-dd请大家把具体代码发布一下 ...js 写 验证日期正则表达式按照 这样的验证格式写 年-月-日 例如 1987-09-01 js里正则表达式怎么写如果单纯用正则的话,去掉第一个/...
  • 最好放一个代码注释掉./ ^ \ d {4} \-\ d {2} \-\ d {2} $ /如果要执行年,月和日,这里仅限制格式必须为yyyy-mm-dd验证非常准确,那就麻烦了.js编写验证日期正则表达式根据此验证格式写出年月日. 例如,如何在1987...
  • Java日期正则表达式

    2021-02-12 13:04:33
    关键字: 正则表达式一、简单的日期判断(YYYY/MM/DD):^\d{4}(\-|\/|\.)\d{1,2}\1\d{1,2}$二、演化的日期判断(YYYY/MM/DD| YY/MM/DD):^(^(\d{4}|\d{2})(\-|\/|\.)\d{1,2}\3\d{1,2}$)|(^\d{4}年\d{1,2}月\d{1,2}日$)$...
  •  很多时候我们都是通过一组正则表达式判断用户输入的身份证是否合法,那在用正则表达式判断之前,你对身份证号的组成有多少了解呢?下面来说说一个身份证号里面包含了多少的信息:  1、号码的结构  公民身份...
  • 最近一直在做一个小小的微信小程序外包,里面有一个判断日期的需求,这个其实比较简单,但是在其中我遇到了javascript的一个坑。 我在调试时发现这段代码打印出来的两个regex.test()值不一样,但是我明明两段的...
  • 1、Java中用正则表达式判断日期格式是否正确DateType.java:/*** @Title:DateType.java* @Package:com.you.dao* @Description:* @Author: 游海东* @date: 2014年3月8日 下午10:54:50* @Version V1.2.3*/package ...
  • /** * 一位数前加0 例:2 -> 02 */ function set2len(str) { ...* 日期格式 例: 2019-09-12 */ function isDate(str) { if (!str) { return false; } var res = str.match(/^(\d{4})(-)(\d{

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 48,456
精华内容 19,382
关键字:

判断日期正则表达式

友情链接: PItiaojiespwm.zip