我在jsp表单页面中有一个字段,该字段接受“起始日期”和“截止日期”.
现在,我知道可以使用提交按钮来验证此脚本的脚本代码了.
但是我的字段目前接受任何形式的10个字符….例如:28/07/2000或2807 // 2/00
它接受数字和任意数量的/ …
但是我希望该字段接受2个Nos,然后是/,然后是2个Nos,然后是/和年份.
还可以提供页面验证,例如日期为31/01/2000 …则用户键入31后,第二组允许的数字应为01,03,05,07 …&等等…
它不应该允许02,04..etc ..
如果日期是29/02 / yyyy,那么yyyy应该只允许跨越leap年…
所有这些都应得到满足,然后只有光标应移动到其他字段&中.无需刷新页面…
可以通过ajax实现…
由于输入2个数字后我需要验证,
如果有人有任何想法,如果您能指出正确的方向,我将不胜感激.
顺便说一下,我目前正在使用此代码进行日期验证.
function checkdate(frmdt,todt){
var validformat=/^\d{2}\-\d{2}\-\d{4}$/
var returnval=false
if(!validformat.test(frmdt.value)){
alert("Invalid frmdt");
document.form.frmdt.value="";
}
else if(!validformat.test(todt.value)){
alert("Invalid Date 2");
document.form.todt.value="";
}
else{
var start = document.form.frmdt.value;
var end = document.form.todt.value;
var stDate = new Date(start);
var enDate = new Date(end);
var compDate = enDate - stDate;
if(compDate >= 0)
return true;
else
{
alert("End date should be greater than start date.");
return false;
}
}
}
解决方法:
您应该看一下onkeyup
事件,如果将验证功能绑定到此事件,它将在每次释放键时运行.您可以使用onkeydown
事件将当前输入值存储在变量中,然后使用onkeyup
事件运行验证.然后,如果验证无效,则只需编辑验证功能即可将输入重置为按下键时存储在变量中的值.这样,一旦释放键,任何无效的输入都将被撤消.
您目前似乎并没有使用jQuery(即使您已将标签添加到问题中).如果要使用它,可以改用其.keyup()
和.keydown()
方法.
除非您要使用服务器端代码进行验证并将结果异步发送回去,否则您将不需要任何AJAX,但这对于这个相当简单的要求似乎有点过头了.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。