javascript 闰年正则表达式代码

本文章提供的正则表达式,主要是用来验证闰年的代码,以前都是写日期验证啊,但是统一的,包括所有日期,现在我们就专门提供了一个闰年的日期验证程序

1 : 四年一闰

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

2 : 百年不闰,四百年再闰

(0[48]|[2468][048]|[13579][26])00

3 : 合起来就是所有闰年的2月29日

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

四条规则都已实现,且互相间没有影响,合起来就是所有符合DateTime范围的日期的正则

^((?!0000)[0-9]{4}-((0[1-9]|1[0-2])-(0[1-9]|1[0-9]|2[0-8])|(0[13-9]|1[0-2])-(29|30)|(0[13578]|1[02])-31)|([0-9]{2}(0[48]|[2468][048]|[13579][26])|(0[48]|[2468][048]|[13579][26])00)-02-29)$

考虑到这个正则表达式仅仅是用作验证,所以捕获组没有意义,只会占用资源,影响匹配效率,所以可以使用非捕获组来进行优化。

^(?:(?!0000)[0-9]{4}-(?:(?:0[1-9]|1[0-2])-(?:0[1-9]|1[0-9]|2[0-8])|(?:0[13-9]|1[0-2])-(?:29|30)|(?:0[13578]|1[02])-31)|(?:[0-9]{2}(?:0[48]|[2468][048]|[13579][26])|(?:0[48]|[2468][048]|[13579][26])00)-02-29)$

时间: 2024-10-23 22:13:42

javascript 闰年正则表达式代码的相关文章

javascript常用正则表达式代码

网页特效常用正则表达式代码 html <p> <label for="mobile_phone">手 机</label> <input type="text" id="mobile_phone", name="mobile_phone" value="15107105287" /> <input type="button" value

javascript使用正则表达式实现去掉空格之后的字符

 这篇文章主要介绍了javascript使用正则表达式实现去掉空格之后的字符的方法,需要的朋友可以参考下     从后端数据库读取时间时,经常会把整个日期年月日包括时分秒都取到,如2015-1-28 14:56:00,但是一般的我们只需要前面的年月日就行了.一个简单的方法,直接用split(" ")[0]就可以以空格截取,获得截取的第一段,就是我们要的年月日.现在来说说用正则表达式怎么实现. 思路:获取到字符串中的空格,然后把空格及空格后的字符全部替换为空. 获取空格的正则为s 实践:

javascript中正则表达式反向引用示例介绍

 这篇文章主要介绍了javascript中正则表达式反向引用,需要的朋友可以参考下 最近遇到一个需求,传入一个字符串,每三个字符插入一个空格    例:    传入abcd1234    输出 abc d12 34    思考了一下,准备写一个函数如下   代码如下: function appendSpace(s)  {  var length = s.length;  var result = "";  var last = 0;  for(var i = 3;i<=lengt

超实用的JavaScript表单代码段_javascript技巧

整理了下比较实用的Javascript表单代码段,分享给大家供大家参考,具体内容如下 1 多个window.onload方法 由于onload方法时在页面加载完成后,自动调用的.因此被广泛的使用,但是弊端是只能实用onload执行一个方法.下面代码段,可以保证多个方法在Onload时执行: function addLoadEvent(func){ var oldonload = window.onload; if(typeof window.onload != 'function'){ wind

javascript类型系统——正则表达式RegExp类型

原文:javascript类型系统--正则表达式RegExp类型 × 目录 [1]对象 [2]实例属性 [3]静态属性[4]实例方法 前面的话 前面已经介绍过javascript中正则表达式的基础语法.javascript的RegExp类表示正则表达式,String和RegExp都定义了方法,使用正则表达式可以进行强大的模式匹配和文本检索与替换.本文将介绍正则表达式的RegExp对象,以及正则表达式涉及到的属性和方法   对象 javascript中的正则表达式用RegExp对象表示,有两种写法

jquery使用attr访问自定义属性,减少javascript脚本中代码和数据

[示例代码]<html> <head> <script src="jquery-1.2.js"></script> <script> $(document).ready ( function () { $("#link").click ( function () { alert($(this).attr("var")); } ); } ); </script> </he

学Silverlight 2系列(22):在Silverlight中用JavaScript调用.NET代码

Silverlight中内置了对于HTML.客户端脚本等的支持.上一篇介绍在 Silverlight中调用JavaScript,本文我将介绍在Silverlight中如何用 JavaScript调用.NET代码. 使用RegisterScriptableObject 在Silverlight 2中提供了如下两个类型: ScriptableMemberAttribute:允许我们在Silverlight把成员暴露给Script . ScriptableTypeAttribute:允许我们在Silv

在JavaScript的正则表达式中使用exec()方法

         这篇文章主要介绍了在JavaScript的正则表达式中使用exec()方法,是JS入门学习中的基础知识,需要的朋友可以参考下              exec方法为正则表达式匹配的文本搜索字符串.如果找到匹配,则返回结果数组; 否则,返回null. 语法 ? 1 RegExpObject.exec( string ); 下面是参数的详细信息: string : 要搜索的字符串 返回值: 如果找到一个匹配,如果不为空,则返回匹配的文本. 例子: ? 1 2 3 4 5 6 7

JavaScript的正则表达式中test()方法的使用

这篇文章主要介绍了简述JavaScript的正则表达式中test()方法的使用,是JS入门学习中的基础知识,需要的朋友可以参考下 test方法为正则表达式匹配的文本搜索字符串.如果找到匹配,则返回true; 否则返回false. 语法 ? 1 RegExpObject.test( string ); 下面是参数的详细信息: string : 要搜索的字符串 返回值: 如果找到一个匹配,如果不为空,则返回匹配的文本. 例子: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 1