-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

より簡単な正規表現を使用してください。

これをコードに入れます:

この形式の日付: mm/dd/yyyy

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

于 2015-09-18T00:48:50.140 に答える
0

array=date.split('/'); 日付が正しければ、3 つの値が得られます。彼らとやりたいことは何でもできます。

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 に答える