如何通过JavaScript将日期输入框的最小日期设置为今日?
可以通过JavaScript设置日期输入框的最小日期为今日
当然可以实现这个需求,只需要通过JavaScript获取目标日期输入框,将其min属性设置为YYYY-MM-DD格式的今日日期字符串即可,浏览器会自动禁用今日之前的所有日期选项。
具体实现代码
你可以用两种方式完成:
方式一:手动格式化日期
// 获取日期输入框元素 const dateInput = document.querySelector('input[type="date"]'); // 生成符合要求的今日日期字符串 const today = new Date(); const year = today.getFullYear(); // 月份从0开始计数,需+1,同时补前导零保证两位格式 const month = String(today.getMonth() + 1).padStart(2, '0'); const day = String(today.getDate()).padStart(2, '0'); // 设置最小日期为今日 dateInput.min = `${year}-${month}-${day}`;
方式二:利用toISOString快速格式化
如果想更简洁,可直接借助Date对象的toISOString方法,截取其生成字符串的前10位就是标准日期格式:
const dateInput = document.querySelector('input[type="date"]'); dateInput.min = new Date().toISOString().split('T')[0];
效果说明
设置完成后,日期输入框会自动限制用户无法选择今日之前的日期;若用户手动输入不符合要求的日期,浏览器会弹出验证提示(不同浏览器提示样式略有差异)。
内容的提问来源于stack exchange,提问作者Gozman
相关产品推荐
相关产品推荐

