我是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}
谢谢。
答案 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"));