Javascript new Date()接受月末之后的日期

时间:2015-11-10 14:43:07

标签: javascript date

我使用JavaScipt的new Date(datestring)来解析IE11上的用户输入。

具体的代码行是

var date = new Date(enteredText);

它接受日期字段的任何参数 - 例如,5/50/1997解析为June 19, 1997,因为6月19日将是5月的第50天。

有没有办法强迫它不要这样做,只接受实际日期?

2 个答案:

答案 0 :(得分:2)

您必须自己解析字符串以验证日期是否有效。为此,您需要将字符串拆分为delimiter(在这种情况下为' /')并检查每天/每月/每年是否有效。

你把这个验证完全取决于你。您可以使用Date覆盖Date.prototype.constructor = function(){/*your code here*/}构造函数,也可以创建一个自定义函数,在实例化新日期function validateDate(str){/*your code here*/}之前验证字符串。后者可能是你最好的选择。

答案 1 :(得分:0)

您可以拆分' /'传递的参数。或者取决于您的分隔符,并在将日期,月份和年份传递给日期函数之前手动检查日期,月份和年份是否有效