验证输入日期的Javascript
我是验证输入日期的Javascript,javascript,jquery,html,Javascript,Jquery,Html,我是Javascript编程新手,我正在尝试验证从外部Javascript文件获取的日历片段输入到中的日期。我正在尝试验证日期,以检查用户是否输入了过去的日期。如果输入的日期是过去的日期,则我需要打印一条警告消息,以便在未来期间输入有效日期 我接受以下HTMLcode中的输入日期字段: <input size="12" id="inputField" name="inputField" autofocus="" type="date" oninput="return dateVa
Javascript
编程新手,我正在尝试验证从外部Javascript
文件获取的日历片段输入到
中的日期。我正在尝试验证日期,以检查用户是否输入了过去的日期。如果输入的日期是过去的日期,则我需要打印一条警告消息,以便在未来期间输入有效日期
我接受以下HTML
code中的输入日期字段:
<input size="12" id="inputField" name="inputField" autofocus="" type="date" oninput="return dateValidate(inputField)"/>
验证输入日期的Javascript函数是:
<script type="text/javascript">
function dateValidate(inputField)
{
var v2 = document.getElementById('inputField');
var pickeddate = new Date(v2.Value);
todayDate = new Date();
if(pickeddate > todayDate){
return true;
} else {
alert("Enter a valid Date");
}
}
函数日期验证(inputField)
{
var v2=document.getElementById('inputField');
var pickeddate=新日期(v2.值);
todayDate=新日期();
如果(选择日期>今天日期){
返回true;
}否则{
警报(“输入有效日期”);
}
}
但是这个代码似乎不起作用。我希望在
字段中输入过去的日期并进行制表时运行此Javascript函数。我希望在字段中输入日期时进行验证,而不是在提交表单时进行验证。由于代码中存在问题,因此无法运行,只需替换以下内容:
var pickeddate = new Date(v2.Value);
为此:
var pickeddate = new Date(v2.value); // 'value' should be in lower case
因为它是不正确的,pickeddate
始终是未定义的
,代码不起作用。您可以试试这个
HTML
<input size="12" id="inputField" name="inputField" autofocus="" type="date" onblur="return dateValidate(this)"/>
不是
未定义
,而是日期
对象,其值为NaN
在技术上是正确的。但是在比较中,这是一样的…为了得到时间戳,。我知道它是做什么的,但是你为什么要用它呢?这是不必要的,您可能希望将pickedDate
重新用作Date
对象。谢谢Heera先生。像魔术一样工作。我应该如何确定将onchange()/onblur()用于我的事件?我用onchange()来做这件事,结果被卡住了Abhi@Abhi欢迎实际上,当您关注元素时,这两个事件的工作方式是相同的,但区别在于更改事件仅在值更改时触发。我认为您只能使用
onchange
事件。不知道需要说多少次:使用日期构造函数解析日期字符串是不可靠的。您不知道字符串的格式,也不知道浏览器是否能正确解析它。即使是最流行的浏览器的最新版本在如何解析ISO8601字符串方面也存在差异,所以请不要推荐它。
function dateValidate(inputField)
{
var pickeddate = new Date(inputField.value);
var todayDate = new Date();
if( pickeddate > todayDate )
{
return true;
}
else
{
alert("Enter a valid Date");
}
}