-1

我正在用 JavaScript 编写生日验证表单,但它不起作用。你能帮忙找出哪一部分是错的吗?如何解决?

JavaScript

function onFormSubmit(form_element) {

    var slashcount = 0;
    if ((form_element.birthday.value =="")||(form_element.birthday.value ==null))
    {
        alert("This field is required. Please enter date mm/dd/yyyy!");
        false;
    }
    for (var i=0; i < birthday.length; i++)
    {
        temp = "" + birthday.substring(i, i+1);
        if (temp == "/")
        {
            slashcount++;
        }
        if (valid.indexOf(temp) == "-1")
        {
            alert("error1.");
            false;
        }
        if (slashcount != 2)
        {
            alert("error2");
            false;
        }
        if((birthday.charAt(2)!= '/')||( birthday.charAt(5) != '/'))
        {
            alert("error3");
            false;
        }
    }
    return true;
}​

HTML

<form onsubmit="return onFormSubmit(this)">

        Birthday:<input type="text" name="birthday" /><br />
        <input type="submit" value="submit" />
</form>
4

3 回答 3

0

数组=date.split('/'); 如果日期正确,您将获得三个值。你可以对他们做任何你想做的事。

array=date.split('/');
if(array.length!=3)
{
alert('Not a valid date');
return false;
}
if(parseInt(array[0])>31)
{
alert('Not a valid day');
return false;
}
etc etc.
于 2012-04-15T12:03:15.840 回答
0

首先,应该有return false;而不是仅仅false;

于 2012-04-15T11:53:25.810 回答
0

使用更容易的正则表达式。

将以下代码放入您的代码中:

此格式的日期:mm/dd/yyyy

^(0[1-9]|1[012])- /.- /.\d\d$

于 2015-09-18T00:48:50.140 回答