求正则验证 yyyy/mm/dd 这样的时间格式?

seven4634 2012-05-17 10:37:08
求正则验证 yyyy/mm/dd 这样的时间格式?
...全文
179 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
EnForGrass 2012-05-17
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 的回复:]

引用 13 楼 的回复:

哎 ····

bool regs1 = Regex.IsMatch(@"1998/6/30", @"^\d{4}/(0?[1-9]|1[0-2])/([0-2][0-9]|3[0-1])$");
bool regs2 = Regex.IsMatch(@"2008/12/31", @"^\d{4}/(0?[1-9]|1[0-2])/([0-2][0-9……
[/Quote]
改一下
bool regs1 = Regex.IsMatch(@"1998/6/3", @"^\d{4}/(0?[1-9]|1[0-2])/((0?[1-9]|[1-2][0-9])|3[0-1])$");
whowhen21 2012-05-17
  • 打赏
  • 举报
回复
^\d{4}/(0?[1-9]|1[0-2])/(0?[1-9]|[1-2][0-9]|3[0-1])$
可以验证 2012/01/10 2012/1/10 2012/1/5
EnForGrass 2012-05-17
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 的回复:]

哎 ····
[/Quote]
bool regs1 = Regex.IsMatch(@"1998/6/30", @"^\d{4}/(0?[1-9]|1[0-2])/([0-2][0-9]|3[0-1])$");
bool regs2 = Regex.IsMatch(@"2008/12/31", @"^\d{4}/(0?[1-9]|1[0-2])/([0-2][0-9]|3[0-1])$");
whowhen21 2012-05-17
  • 打赏
  • 举报
回复
^\d{4}/(0?[1-9]|1[0-2])/([1-9]|[1-2][0-9]|3[0-1])$
seven4634 2012-05-17
  • 打赏
  • 举报
回复
哎 ····
seven4634 2012-05-17
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]
引用 7 楼 的回复:

引用 5 楼 的回复:
引用 4 楼 的回复:

这个不太完整
\d{4}/(0[1-9]|1[0-2])/([0-2][0-9]|3[0-1])

改一下
^\d{4}/(0[1-9]|1[0-2])/([0-2][0-9]|3[0-1])$



Regex regs = new Regex(@"^\d{4}/(0[1-9]|1[0-2])/……
[/Quote]

可是如果是2001/2/16 这种怎么验证啊 就是可以验证2001/02/16 也可以验证 2001/2/16 这两种
杨友山 2012-05-17
  • 打赏
  • 举报
回复
EnForGrass 2012-05-17
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 的回复:]

引用 5 楼 的回复:
引用 4 楼 的回复:

这个不太完整
\d{4}/(0[1-9]|1[0-2])/([0-2][0-9]|3[0-1])

改一下
^\d{4}/(0[1-9]|1[0-2])/([0-2][0-9]|3[0-1])$



Regex regs = new Regex(@"^\d{4}/(0[1-9]|1[0-2])/([0-2][0-9]|……
[/Quote]
试试看,在VS里都返回true,你可以试试其他的

bool regs1 = Regex.IsMatch(@"1998/11/30", @"^\d{4}/(0[1-9]|1[0-2])/([0-2][0-9]|3[0-1])$");
bool regs2 = Regex.IsMatch(@"2008/12/31", @"^\d{4}/(0[1-9]|1[0-2])/([0-2][0-9]|3[0-1])$");

黑哥 2012-05-17
  • 打赏
  • 举报
回复
var date = "2012-05-12";
if (reg.test(date) ) {
return true;
}
seven4634 2012-05-17
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
JScript code

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……
[/Quote]

我在regex 里面使用 怎么使用啊?
seven4634 2012-05-17
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]
引用 4 楼 的回复:

这个不太完整
\d{4}/(0[1-9]|1[0-2])/([0-2][0-9]|3[0-1])

改一下
^\d{4}/(0[1-9]|1[0-2])/([0-2][0-9]|3[0-1])$
[/Quote]


Regex regs = new Regex(@"^\d{4}/(0[1-9]|1[0-2])/([0-2][0-9]|3[0-1])$");

这样吗? 不对啊?
黑哥 2012-05-17
  • 打赏
  • 举报
回复

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-))(\s(([01]\d{1})|(2[0123])):([0-5]\d):([0-5]\d))?$/;


这个正则,可以验证 (格式:2008-08-08 或者 2008-08-08 20:08:08)
你要的那种,你把 - 改成 / 就可以了!
EnForGrass 2012-05-17
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]

这个不太完整
\d{4}/(0[1-9]|1[0-2])/([0-2][0-9]|3[0-1])
[/Quote]
改一下
^\d{4}/(0[1-9]|1[0-2])/([0-2][0-9]|3[0-1])$
EnForGrass 2012-05-17
  • 打赏
  • 举报
回复
这个不太完整
\d{4}/(0[1-9]|1[0-2])/([0-2][0-9]|3[0-1])
EnForGrass 2012-05-17
  • 打赏
  • 举报
回复
这个不太完整
\d{4}/(0[1-9]|1[0-2])/([0-2][0-9]|3[0-1])
  • 打赏
  • 举报
回复
string pattern = @"^\d{4}([/])\d{1,2}\1\d{1,2}$";
bdmh 2012-05-17
  • 打赏
  • 举报
回复
[\d]{4}/[\d][\d]/[\d][\d]
seven4634 2012-05-17
  • 打赏
  • 举报
回复
[Quote=引用 18 楼 的回复:]
参考

正则应用之——日期正则表达式
[/Quote]

恩恩谢谢·
-过客- 2012-05-17
  • 打赏
  • 举报
回复

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧