如何确认某人从出生之日起年满18岁?

Lak*_*tha 6 javascript asp.net

我正在对驾驶员的出生日期进行验证,它应该是当前日期的最低值18.

var Dates = $get('<%=ui_txtDOB.ClientID %>');   
var Split = Dates.value.split("/");

if (parseInt(Split[2]) > 1993) 
{
    alert("DOB year should be less than 1993");
    Dates.focus();
    return false;
}  
Run Code Online (Sandbox Code Playgroud)

我正在使用上面的JavaScript验证来检查18岁以上的人的DOB,但这是不正确的.我需要查看今天的日期,它应该是18以上.我如何比较和检查当前日期?

Cur*_*urt 13

我认为更好的选择是计算用户的年龄,并在if语句中使用它.

看到这个如何做到这一点的答案:

用JavaScript计算年龄


nav*_*een 8

试试这个.

var enteredValue = $get('<%=ui_txtDOB.ClientID %>');;
var enteredAge = getAge(enteredValue.value);
if( enteredAge > 18 ) {
    alert("DOB not valid");
    enteredValue.focus();
    return false;
}
Run Code Online (Sandbox Code Playgroud)

使用此功能.

function getAge(DOB) {
    var today = new Date();
    var birthDate = new Date(DOB);
    var age = today.getFullYear() - birthDate.getFullYear();
    var m = today.getMonth() - birthDate.getMonth();
    if (m < 0 || (m === 0 && today.getDate() < birthDate.getDate())) {
        age--;
    }    
    return age;
}
Run Code Online (Sandbox Code Playgroud)

在这里演示:http://jsfiddle.net/codeandcloud/n33RJ/