C#正则表达式判断输入日期格式是否正确
/// <summary>
/// 是否为日期型字符串
/// </summary>
/// <param name="StrSource">日期字符串(2008-05-08)</param>
/// <returns></returns>
public static bool IsDate(string StrSource)
{
return Regex.IsMatch(StrSource, @"^((((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-9]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))-0?2-29-))$");
}
/// <summary>
/// 是否为时间型字符串
/// </summary>
/// <param name="source">时间字符串(15:00:00)</param>
/// <returns></returns>
public static bool IsTime(string StrSource)
{
return Regex.IsMatch(StrSource, @"^((20|21|22|23|[0-1]?\d):[0-5]?\d:[0-5]?\d)$");
}
/// <summary>
/// 是否为日期+时间型字符串
/// </summary>
/// <param name="source"></param>
/// <returns></returns>
public static bool IsDateTime(string StrSource)
{
return Regex.IsMatch(StrSource, @"^(((((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)$ ");
}
//是否是整数
public static bool IsInt(string StrSource)
{
return Regex.IsMatch(StrSource, @"^[0-9]*$");
}
yyyy/MM/dd格式
^(?<year>\\d{2,4})/(?<month>\\d{1,2})/(?<day>\\d{1,2})$
yyyy-MM-dd格式
^(?<year>\\d{2,4})-(?<month>\\d{1,2})-(?<day>\\d{1,2})$
yyyy.MM.dd 格式
^(?<year>\\d{2,4})[.](?<month>\\d{1,2})[.](?<day>\\d{1,2})$
yyyy年MM月dd日格式 (可以不包含年和日)
^((?<year>\\d{2,4})年)?(?<month>\\d{1,2})月((?<day>\\d{1,2})日)?$
yyyy年MM月dd日格式(MM、dd为中文数字)
^((?<year>\\d{2,4})年)?(正|一|二|三|四|五|六|七|八|九|十|十一|十二)月((一|二|三|四|五|六|七|八|九|十){1,3}日)?$
yyyy年MM月dd日格式(年月日均为中文数字)
^(零|〇|一|二|三|四|五|六|七|八|九|十){2,4}年((正|一|二|三|四|五|六|七|八|九|十|十一|十二)月((一|二|三|四|五|六|七|八|九|十){1,3}(日)?)?)?$
农历日期(年月日,可不包含日,匹配不含“初X”的日期)
^(甲|乙|丙|丁|戊|己|庚|辛|壬|癸)(子|丑|寅|卯|辰|巳|午|未|申|酉|戌|亥)年((正|一|二|三|四|五|六|七|八|九|十|十一|十二)月((一|二|三|四|五|六|七|八|九|十){1,3}(日)?)?)?$
农历日期(年月日,可不包含年,匹配“初X”类的日期)
^((甲|乙|丙|丁|戊|己|庚|辛|壬|癸)(子|丑|寅|卯|辰|巳|午|未|申|酉|戌|亥)年)?(正|一|二|三|四|五|六|七|八|九|十|十一|十二)月初(一|二|三|四|五|六|七|八|九|十)$
XX时XX分XX秒格式(可不含秒)
^(?<hour>\\d{1,2})(时|点)(?<minute>\\d{1,2})分((?<second>\\d{1,2})秒)?$
XX时XX分XX秒格式(中文数字,可不含秒)
^((零|一|二|三|四|五|六|七|八|九|十){1,3})(时|点)((零|一|二|三|四|五|六|七|八|九|十){1,3})分(((零|一|二|三|四|五|六|七|八|九|十){1,3})秒)?$
XX分XX秒格式(中文数字)
^((零|一|二|三|四|五|六|七|八|九|十){1,3})分((零|一|二|三|四|五|六|七|八|九|十){1,3})秒$
XX时格式
\\b(?<hour>\\d{1,2})(时|点钟)\\b
最新文章
- Linux设备管理(一)_kobject, kset,ktype分析
- JS定时刷新页面及跳转页面
- CSS3 border-radius 圆角属性
- linux学习笔记--vi与vim编辑器
- 网络数据包发送工具PacketSender中文源码
- Linux挂载60T存储
- C/C++中程序在使用堆内存时的内存复用问题
- 你必须掌握的Java基础:JSON解析工具-json-lib
- 山寨QQ音乐的布局(二)终于把IOS6的UITableView拍扁了
- 使用 http://httpbin.org/ 验证代理地址
- C 这些东西的内存管理
- SSH防爆破脚本
- ThinkPhp_5框架开发【指导】
- HDU - 1175 bfs
- 前端笔记之HTML5&;CSS3(中)选择器&;伪类伪元素&;CSS3效果&;渐变背景&;过渡
- html/css/js-横向滚动条的实现
- Js中,Map对象的使用
- ES6之扩展运算符
- mybatis中大于等于、小于等于的写法
- Django REST Framework简单入门(一)