gpt4 book ai didi

Javascript - 日期范围验证

转载 作者:行者123 更新时间:2023-12-05 08:59:32 25 4
gpt4 key购买 nike

我有一个表单,用户可以输入任何日期,但我想设置一个日期范围验证。例如:从 1-12-2012 到 1-1-2013 并且系统无法接受任何不在该范围内的用户日期。我已经尝试过这个 javascript 代码,但它甚至没有给我任何警报当日期不在范围内时..

这是我表格的一部分:

 echo "<tr><th bgcolor='FF6600'> Date <font size='4' color='red'>* </font></th>
<td> <input type='date' name='v2' value='' ></td></tr>";


echo "<tr><th bgcolor='FF6600'> Time <font size='4' color='red'>* </font></th>
<td> <input type='time' name='v3' value='' ></td></tr>";

echo "<tr><th bgcolor='FF6600'> Place <font size='4' color='red'>* </font></th>
<td> <input type='text' name='v4' value='' ></td></tr>";

这是javascript代码

    <script language="javascript">

function validation(form)
{

var v2 = document.getElementById('v2');
var date = v2.value;
if ( (v2 > new date('12/12/2012')) &&
(v2 < new date('1/1/2013')) ){
// date is in your valid range
return true;
} else {
// date is not in your valid range

alert("date is not in valid range")
return false;
}


}

</script>

最佳答案

要比较日期,您应该使用 unix 时间戳,而现在您从值中获取的第一个日期是一个字符串,您不能将它与日期对象进行比较吗?

确保你有 unix 时间的时间戳,然后比较它们:

function validation(form) {
var v2 = document.getElementById('v2'),
date = new Date(v2.value),
d1 = date.getTime(),
d2 = new Date('12/12/2012').getTime(),
d3 = new Date('1/1/2013').getTime();

if (d1 > d2 || d1 < d3) {
return true;
}else{
alert("date is not in valid range")
}
}

关于Javascript - 日期范围验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13780881/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com