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