大家好,
我需要创建一个带有验证的输入,输入格式必须是这样的DD:HH(天:小时)。
当最大天数必须为 365 且小时数为 23:59 时,如果用户输入的值大于默认值,则返回零 (0)。
如何使用 HTML 和 JavaScript 来实现这一点?
最佳答案
我试图找到一个骗子,但没有成功。
只需转换为分钟就可以了
在撰写本文时,还不清楚您的要求是什么。一个字段强制用户输入冒号? DD:HH:MM?
您还可以测试按键的 max 属性,如果太大则取消
var maxValue = 365*24*60, ddd, hh, mm;
function testVal() {
var dddVal = ddd.value,
hhVal = hh.value,
mmVal = mm.value;
dddVal === isNaN(dddVal) ? 0 : +dddVal;
hhVal === isNaN(hhVal) ? 0 : +hhVal;
mmVal === isNaN(mmVal) ? 0 : +mmVal;
var val = (dddVal*24*60+hhVal*60+mmVal)
console.log(val,maxValue)
document.getElementById("error").textContent = val > maxValue ? "Too long time" : "";
}
window.addEventListener("load",function() {
ddd=document.getElementById("ddd");
hh=document.getElementById("hh");
mm=document.getElementById("mm");
ddd.addEventListener("input",testVal);
hh.addEventListener("input",testVal);
mm.addEventListener("input",testVal);
testVal();
});
input[type=number] { width:50px }
<input type="number" id="ddd" min="1" max="365" placeholder="ddd" />
<input type="number" id="hh" min="1" max="23" placeholder="hh" />:<input id="mm" type="number" min="1" max="59" placeholder="mm" />
<span id="error"></span>
关于JavaScript输入格式DD :HH,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54503654/