javascript-如何使文本字段的形式(html,jsp)仅接受dd / mm / yyyy格式,而无需单击提交按钮
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript-如何使文本字段的形式(html,jsp)仅接受dd / mm / yyyy格式,而无需单击提交按钮,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1705字,纯文字阅读大概需要3分钟。
内容图文
我在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,但这对于这个相当简单的要求似乎有点过头了.
内容总结
以上是互联网集市为您收集整理的javascript-如何使文本字段的形式(html,jsp)仅接受dd / mm / yyyy格式,而无需单击提交按钮全部内容,希望文章能够帮你解决javascript-如何使文本字段的形式(html,jsp)仅接受dd / mm / yyyy格式,而无需单击提交按钮所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。