首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我想检查yyyy:mm(正则表达式)

我想检查yyyy:mm(正则表达式)
EN

Stack Overflow用户
提问于 2014-10-15 04:30:26
回答 2查看 1.3K关注 0票数 0

我想形成检查文本,如::mm(日期时间),我找到了这个↓。

代码语言:javascript
运行
复制
                    "regex": /^((((19|[2-9]\d)\d{2})[\/\.-](0[13578]|1[02])[\/\.-](0[1-9]|[12]\d|3[01])\s(0[0-9]|1[0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]))|(((19|[2-9]\d)\d{2})[\/\.-](0[13456789]|1[012])[\/\.-](0[1-9]|[12]\d|30)\s(0[0-9]|1[0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]))|(((19|[2-9]\d)\d{2})[\/\.-](02)[\/\.-](0[1-9]|1\d|2[0-8])\s(0[0-9]|1[0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))[\/\.-](02)[\/\.-](29)\s(0[0-9]|1[0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])))$/,

啊,真灵。但是这个id检查了::mm :ss和cut :ss部件(我想)

代码语言:javascript
运行
复制
"regex": /^((((19|[2-9]\d)\d{2})[\/\.-](0[13578]|1[02])[\/\.-](0[1-9]|[12]\d|3[01])\s(0[0-9]|1[0-9]|2[0-3]):([0-5][0-9]))|(((19|[2-9]\d)\d{2})[\/\.-](0[13456789]|1[012])[\/\.-](0[1-9]|[12]\d|30)\s(0[0-9]|1[0-9]|2[0-3]):([0-5][0-9]))|(((19|[2-9]\d)\d{2})[\/\.-](02)[\/\.-](0[1-9]|1\d|2[0-8])\s(0[0-9]|1[0-9]|2[0-3]):([0-5][0-9]))|(((1[6-9]|[2-9]\d)(0[48]|[2468][048]|[13579][26])|((16|[2468][048]|[3579][26])00))[\/\.-](02)[\/\.-](29)\s(0[0-9]|1[0-9]|2[0-3]):([0-5][0-9])))$/,

不起作用。我怎么才能解决这个问题?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-10-15 04:39:08

如果您必须使用正则表达式,则应该可以这样做:

/^0-9{4}-0-9{2}-0-9{2}\s0-9{2}:0-9{2}/

它没有限制范围,所以有人可以把14作为一个月。它只检查您想要的格式是否与任何数字完全一致。

票数 1
EN

Stack Overflow用户

发布于 2014-10-15 04:34:29

如果要检查字符串是否有效,更好的方法是使用Date.parse()

就像这样:

代码语言:javascript
运行
复制
alert(Date.parse("2001-12-20 20:39"));  // returns 1008841140000
alert(Date.parse("2001-12-50 20:39"));  // returns NaN (sometimes?)

如果要额外确定日期是否与该格式相匹配,则可以输出日期并对照原始格式进行检查,如下所示:

代码语言:javascript
运行
复制
Date.parse(y).strftime("%Y-%m-%d %H:%M") == y
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26374494

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档