我是JavaScript的新手,对这门语言几乎一无所知。我正在尝试在求职申请表中设置年龄限制,其中出生日期文本字段的日期格式为dd/mm/yyyy,申请者在填写表格时必须在15岁到80岁之间,否则他们将无法申请。我不想把它嵌入到超文本标记语言文件中,但只将它写入.js文件中。
对于道布,输入类型为文本,姓名为道布,id为道布,模式为(01-9|10-9|20-9|301)/(01-9|1012)/0-9{4}
谢谢。
发布于 2017-09-12 10:37:36
您可以使用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);
发布于 2017-09-12 10:32:17
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"));
https://stackoverflow.com/questions/46166835
复制相似问题