JavaScript输入格式DD :HH

标签 javascript html

大家好,

我需要创建一个带有验证的输入,输入格式必须是这样的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/

相关文章:

html - 随着内部 Div 的扩展,使 HTML 列变宽

javascript - 不要加载同一个 JQuery 加载文件两次

javascript - jquery .slideUp 多次调用时表现奇怪

javascript - 尝试使用按钮(使用 Javascript)切换类的可见性,绝对没有用,我错过了什么?

html - 输入类型搜索 - 如何获得白色的占位符和清除按钮?

javascript - 无法从 toDataURL( ) 获取图像数据,出现错误 SECURITY_ERR : DOM Exception 18

javascript - 如何使用 jQuery 修复此切换 div?

javascript - 如何获取Polymer domHost属性?

javascript - 为什么这段代码 jquery 不起作用?

javascript - 将所有 vue 组件添加到 window 数组