java脚本中的正则表达式日期模式yyyy mm dd javascript?

java脚本中的正则表达式日期模式yyyy mm dd javascript?,javascript,Javascript,java脚本中的正则表达式日期模式yyyy mm dd javascript,要比较表单中的起始日期和截止日期,需要检查截止日期是否超出起始日期,并且日期是否应相同?您不需要任何正则表达式,可以使用date.parse读取ISO-8061格式的日期并直接比较: var date1 = Date.parse("2015-12-14"); var date2 = Date.parse("2015-12-15"); return date1 < date2; // true …但是,Dates

java脚本中的正则表达式日期模式yyyy mm dd javascript,要比较表单中的起始日期和截止日期,需要检查截止日期是否超出起始日期,并且日期是否应相同?

您不需要任何正则表达式,可以使用date.parse读取ISO-8061格式的日期并直接比较:

var date1 = Date.parse("2015-12-14");
var date2 = Date.parse("2015-12-15");
return date1 < date2; // true
…但是,Datestring构造函数将在无效输入上引发异常,因此如果需要首先测试日期,请执行以下操作:

var isValidDate = !isNaN( Date.parse( dateString ) );
if( isValidDate ) return new Date( dateString );
或者,如果您觉得非常高效,并且希望避免对字符串进行两次解析:

var timestamp = Date.parse( dateString );
if( !isNaN( timestamp ) ) return new Date( timestamp );

你不需要正则表达式。事实上,你甚至不需要像@Dai建议的那样解析日期。ISO-8601格式的日期可以作为字符串进行比较:

'2015-12-14' < '2015-12-15' // true
'2015-12-20' == '2015-12-20' // true
字符串按字母顺序排序将按时间顺序生成日期,这是因为顺序不同,即先年、后月、后日,以及由于单个数字中的前导0,因此04<10


这当然,,表示字符串始终是有效的ISO-8601日期。

问题是什么?是否需要一个模式来检查所需字符串是否为日期?可能的重复需要正则表达式来检查YYYY/MM/dd中的日期格式这就是为什么美国MM/dd/YYYY系统毫无意义的原因:D您可以更具体一点我需要比较日期kess,在YYYY/MM/DD格式中可以有更大、相同的日期吗any@GaneshSudarsan您应该能够将字符串值直接传递给Datestring构造函数并比较实例。您有什么特别的问题吗?您好,在验证表格时,我提供了从2015/02/uu到2015/02/u的输入,在这些输入日期中,我提供年、月,但不提供日期,即使是接受和提交表格
'2015-12-14' < '2015-12-15' // true
'2015-12-20' == '2015-12-20' // true