-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 回答