在Javascript中我试图为日期编写验证,用户必须选择未来的日期而不是过去的日期。我的代码似乎仅在我使用上个月的日期时才有效(例如26/11/2011
)。这是我的剧本:
<script type="text/javascript" >
function mydate()
{
var d= new Date ();
var day= d.getDate ();
var mon=d.getMonth ();
var year= d.getFullYear ();
var dateformat= day+"/"+mon+"/"+year ;
var get= document.getElementById("txt").value;
if(get >= dateformat )
{
alert ('yes valid');
}
else
{
alert('Date should greater than to date ');
}
}
</script>
答案 0 :(得分:2)
您将日期值作为字符串进行比较。这是一个文本比较而不是日期比较,所以它除了巧合之外几乎从不工作。您需要将用户输入的日期值解析为Date
数据类型并以此方式进行比较。
只要有可能,您应该避免自己编写日期操作代码,并尝试利用已知的工作解决方案,例如: jQuery UI Datepicker。