-3

「年齢/生年月日」という入力フィールドがあります。年齢または日付の両方を入力できる場合、フィールドを検証するにはどうすればよいですか。

<tr>
<td>Date of birth / age:<span style="color:#ff0000">*</span><div id="dob_id" style="display:none;">Please Enter Valid Date</div></td>
<td><input class="formField" name="dob" value="" /></td>

次のコードを使用して日付を検証しました。

function dobcheck()
        {               
            var x = document.getElementById("dob_id");
            x.style.display="none";
            var currentTime = new Date()
            var month = currentTime.getMonth() + 1
            var day = currentTime.getDate()
            var year = currentTime.getFullYear()
            if(day<10){day='0'+day} 
            if(month<10){month='0'+month}
            var today = day + "/" + month + "/" + year;
            var ip=document.getElementsByName("dob")[0].value;
            if(ip>=today)
            {
                x.style.display="block";
                x.style.color="red";                    
            }


        }

日付の検証は正しく機能していますが、生年月日を検証する必要があります。年齢は入力によって異なります。

4

1 に答える 1

0

これはHTMLで機能するはずです:

function dobcheck()
{  
    var date_separator = '/'; // Assign your date separator here.
    var me = document.getElementsByClassName('formField')[0].value.replace(/^\s|\s$/g, '');

    if(me.match(/[^0-9]/g) == null)
    {
        // Age is entered.
        alert('My age is '+me);
    }
    else if(me.match(/[^0-9]/g).length == 2)
    {
        // For dates in format dd-mm-yy
        var t = me.split(date_separator);
        if(!isNaN(t[0]) && !isNaN(t[0]) && !isNaN(t[0]) )
        {
            alert('My Date of birth is '+me);
        }
    }
}

乾杯!!

于 2013-01-28T12:50:03.107 に答える