求一个js日期正则表达式,只有以下的可以通过验证:空值;年份(如2013);年月(如2013-12);年月日(如 10

空值;年份(如2013);年月(如2013-12);年月日(如2013-12-12)。最好还能判断月份不超过12,大小月30天或者31天,以及闰年2月份天数... 空值;年份(如2013);年月(如2013-12);年月日(如2013-12-12)。最好还能判断月份不超过12,大小月30天或者31天,以及闰年2月份天数 展开
 我来答
laserw9
2013-04-14 · TA获得超过883个赞
知道小有建树答主
回答量:356
采纳率:80%
帮助的人:199万
展开全部

这个是未判断的:

/^\d{4}(?:-\d{2}){0,2}$/



下面这个是有判断的,不过只是验证月(Month),有些功能js不支持,所以验证 日(Day) 在js中没办法实现,但这里已经限制了日(Day)的范围是从 1~31,然后你可以根据 $1、$2、$3 的值来写代码判断Day是否符合。$1、$2、$3分别是年月日,我分别把它们存在了 y、m、n 变量中了,后面的判断代码你自己写吧。


var s = "2013-03-12";
var g = /^(\d{4})(?:(?:-(1[012]|0[1-9]|[1-9]))(?:-(3[01]|[12]\d|0[1-9]|[1-9]))?)?$/;
g.test(s);
var y = RegExp.$1, m =RegExp.$2; d=RegExp.$3; //y:年 m:月 d:日
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
谢家豪7
2021-11-16 · TA获得超过812个赞
知道小有建树答主
回答量:2676
采纳率:98%
帮助的人:55万
展开全部
这个是未判断的:
/^\d{4}(?:-\d{2}){0,2}$/

下面这个是有判断的,不过只是验证月(Month),有些功能js不支持,所以验证 日(Day) 在js中没办法实现,但这里已经限制了日(Day)的范围是从 1~31,然后你可以根据 $1、$2、$3 的值来写代码判断Day是否符合。$1、$2、$3分别是年月日,我分别把它们存在了 y、m、n 变量中了,后面的判断代码你自己写吧。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式