//不带时间的日期格式判断正则表达式
//var reg = /^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$/;
//带时间的日期格式判断正则表达式
var reg = /^((((1[6-9]|[2-9]\d)\d{2})-(0?[13578]|1[02])-(0?[1-9]|[12]\d|3[01]))|(((1[6-9]|[2-9]\d)\d{2})-(0?[13456789]|1[012])-(0?[1-9]|[12]\d|30))|(((1[6-9]|[2-9]\d)\d{2})-0?2-(0?[1-9]|1\d|2[0-8]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-)) (20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d$/;
最强验证日期的正则表达式,添加了闰年的验证
这个日期正则表达式支持
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)))
分享到:
相关推荐
* @param 日期验证,验证的格式有: * "yyyyMM","yyyyMMdd","yyyyMMdd HH:mm:ss", * "yyyy-MM","yyyy-MM-dd","yyyy-MM-dd HH:mm:ss" * "yyyy.MM","yyyy.MM.dd","yyyy.MM.dd HH:mm:ss" * "yyyy/MM","yyyy/MM/dd...
本文将详细介绍一种“万能日期正则表达式”,它能够适应多种不同的日期格式,并提供了一个具体的实现案例。 #### 二、万能日期正则表达式的特点 该正则表达式的设计目标是尽可能地覆盖各种日期格式,包括但不限于:...
### C# 中日期正则表达式的全面解析 #### 1. 概述 本文主要探讨在C#中如何构建和使用日期的正则表达式。虽然C#提供了强大的日期处理库,例如`DateTime`和`Calendar`类,但在某些特定场景下,如需要对输入的文本...
### 日期正则表达式详解 #### 一、基本概念 正则表达式是一种用于文本模式匹配的强大工具,在处理字符串时极为有用。日期格式验证是正则表达式常见应用场景之一,尤其是在表单验证、数据清洗等领域。本文将详细...
利用正则表达式进行日期格式的校验,不仅可以提高代码的可读性和简洁性,还能有效地确保输入数据的准确性。本文将详细介绍如何使用正则表达式来验证日期格式,并通过两个具体的示例来展示其用法。 #### 二、基础...
正则表达式(Deelx版)是一种强大的文本处理工具,它允许程序员和用户通过预定义的模式来匹配、查找、替换或者分析字符串。Deelx版是专门为提高正则表达式性能和功能而设计的一个支持库,适用于各种编程语言和应用场景...
提供的“例子”可能包含了各种实际的Java代码示例,演示了如何在实际编程中应用正则表达式,比如验证用户输入的邮箱格式、电话号码格式等。 正则表达式的学习需要对元字符、量词、预查、后向引用等概念有深入理解...
3. **常见模式库**:内置了各种常见的正则表达式模式,如邮箱、日期、数字等,用户可以直接选择应用,节省了大量编写时间。 4. **多语言支持**:官方多语版意味着它支持多种语言界面,使全球用户都能轻松上手。 5....
例如,"子程序_正则文本替换"可能就是一个易语言中用于执行正则表达式替换的子程序,它接收输入的文本、正则表达式模式和替换字符串,然后返回经过替换操作的新文本。 1. **正则表达式基础** - **元字符**:如`.`...
日期正则表达式是一种常用的验证日期格式和闰年的方式。在 Winform 和 Webform 中,日期选择和校验通常使用日历控件实现,而日期正则表达式则用于验证日期的格式和闰年。 日期正则表达式的书写需要根据具体情况具体...
在这个场景中,我们需要创建一个正则表达式来验证输入是否符合一年12个月份的格式。 首先,我们要明确一年中的12个月份的可能形式。它们可以是数字(1-12)或完整的英文月份(January到December)。如果只考虑数字...
2. **数据验证**:如邮箱格式验证、日期格式验证等。 3. **文本替换**:基于模式对文本进行替换操作,如去除HTML标签、转换大小写等。 4. **数据提取**:从复杂的数据中提取所需的信息,如从网页中抓取特定内容。 5....
正则表达式提供了一种强大的文本模式匹配工具,能够帮助开发者快速有效地验证输入数据是否符合预设的格式,如日期格式。 ### 一、日期格式与正则表达式的基本原理 在深入探讨正则表达式的具体应用之前,我们首先...
5. **常见模式库**:内置常用正则表达式模式,如邮箱、电话号码、日期等,方便用户选择使用。 6. **教程和文档**:提供详细的正则表达式使用指南和C# API参考,帮助用户学习和理解正则表达式。 7. **版本控制**:...
首先,Boost库是C++的一个开源库,提供了许多实用的功能,如智能指针、多线程支持、日期时间处理以及我们关注的正则表达式等。Boost库的正则表达式组件,即`boost::regex`,是C++实现正则表达式的常用选择之一,它...
### 正则表达式验证日期格式 #### 概述 正则表达式是文本处理领域的一种强大工具,它能够帮助开发者高效地进行字符串的搜索、替换等操作。在实际应用中,经常需要验证用户输入的日期格式是否正确,这就需要用到...
- **数据分析**:正则表达式可用于清洗和提取数据,例如从文本中提取电话号码、日期等。 - **网页抓取**:在网页源码中使用正则表达式查找特定信息,辅助网络爬虫工作。 - **文本替换**:使用`re.sub()`可以批量...
本文将深入探讨一种用于验证“YYYY-MM-DD”格式日期的正则表达式,并通过C#语言的具体实现来解析其背后的逻辑和技术要点。 #### 一、正则表达式概述 正则表达式是一种强大的文本匹配工具,它允许开发者定义复杂的...