需要年份范围验证脚本或jquery

时间:2011-11-03 22:31:55

标签: javascript validation date

我不是一个脚本编写者,所以当涉及到使用这些东西时我有点残疾,但基本上我有一个注册表单的现有验证脚本,我试图添加一个输入到一个特定年份范围的验证(1946-1964)。目前,如果您没有正确输入表格问题,会弹出一个对话框,提示您没有正确填写该字段。

<script type="text/javascript">
function validateregform()
{
with (document.getElementById('frontregisterform'))
{

if (validate_required(document.getElementById('regname'),"Please fill in your full name!")==false)
{document.getElementById('regname').focus();return false;}  

if (validate_email(document.getElementById('regemail'),"Please fill in a valid email address")==false)
{document.getElementById('regemail').focus();return false;} 

if (validate_required(document.getElementById('pass'),"Please fill in your password")==false)
{document.getElementById('pass').focus();return false;}     
}
}
</script>

所以我需要做的是检查字段条目以确保它在1946年到1964年的年份范围内,然后如果不是简单地弹出一条消息说(注册仅限于1946年之间出生的人)到1964年)。

这不需要是一个严重级别的事情,因为我不需要阻止个人实际注册,如果他们不是在该年范围内出生,则在此过程中稍后将需要进行其他验证以防止其使用。就在这时,我需要提醒注册人该网站是供特定年龄段使用的。

非常感谢任何有关此事的协助。

2 个答案:

答案 0 :(得分:1)

这可以帮到你吗?

if (document.getElementById('popopo').value < 1946 
|| document.getElementById('popopo').value > 1964) {
    alert("registration is restricted to those born between 1946 to 1964");
    return false;
}

[编辑]:不要忘记返回false以便不发送表单

不要忘记接受回答或要求提供更多信息。 尼古拉斯。

答案 1 :(得分:0)

如果您有一个id为'year'的年份的输入文本字段,请尝试将以下块添加到验证功能中:

year=document.getElementById('year').value;
if(year<1946 || year>1964)
{
  alert("registration is restricted to those born between 1946 to 1964");
  return false;
}

无论如何你应该考虑使用jquery ui日期选择器。它具有指定日期范围的选项。看一下这个jquery ui page

使用jquery ui,它将如下所示:

$(function() {
    $( "#datepicker" ).datepicker({ minDate: new Date(1946,1,1), maxDate: new Date(1964, 1, 1) });
});

通过使用上述用户,将仅限于从该范围中选择日期。