使用Javascript限制年龄

时间:2017-09-12 02:06:01

标签: javascript

我是JavaScript新手,对这门语言一无所知。我试图在工作申请表中加入年龄限制,其中出生日期文本字段,日期格式为dd / mm / yyyy,申请人填写表格时必须年满15至80岁他们将无法申请。我不想将其嵌入到HTML文件中,只能将其写入.js文件中。

对于DOB输入类型是文本,名称是dob,id是dob,pattern是(0 [1-9] | 1 [0-9] | 2 [0-9] | 3 [01])/(0 [1-9] | 1 [012])/ [0-9] {4}

谢谢。

2 个答案:

答案 0 :(得分:0)

您可以使用HTML5输入日期的最小和最大属性

<强> HTML:

    <input type="date" id="txtDate" />

JavaScript:

        var dtToday = new Date();
        var month = dtToday.getMonth() + 1;
        var day = dtToday.getDate();
        var year = dtToday.getFullYear();
        var maxYear = year - 18;
        if(month < 10)
            month = '0' + month.toString();
        if(day < 10)
            day = '0' + day.toString();

        var maxDate = maxYear + '-' + month + '-' + day;
        var minYear = year - 80;
        var minDate = minYear + '-' + month + '-' + day;
        alert(maxDate);
        document.querySelectorAll("#txtDate")[0].setAttribute("max",maxDate);

        document.querySelectorAll("#txtDate")[0].setAttribute("min",minDate);

答案 1 :(得分:-1)

function processDate(date){
   var parts = date.split("/");
   return new Date(parts[2], parts[1] - 1, parts[0]);
}

function calcAge(date) {
  var dBirth = processDate(date);
  var dToday = new Date();
  var diff = dToday.getTime() - dBirth.getTime();
  return Math.floor(diff / (1000 * 60 * 60 * 24 * 365.25));
}

function validateDate(date){
  var age = calcAge(date);
  console.log(age);
  if(15<=age && age <=80) return true;
  else {
    return false;
  }
}

console.log(validateDate("01/12/1988"));

console.log(validateDate("02/11/1911"));