时间日志的javascript/jquery验证(5小时3米)

javascript/ jquery validation for time log(5h 3m)

本文关键字:5小时 3米 验证 jquery 日志 javascript 时间      更新时间:2023-09-26

我有一个文本类型的输入。如何验证,以便用户只能输入这样的值(5小时30米),这是为了记录时间(在一项任务上花费了多少时间)。我应该使用任何正则表达式吗?

我不知道如何一次处理所有情况,但您总是可以针对几个rexexp进行测试,看看是否匹配。

  • 小时和分钟:/^'d{1,2}h'd{1,2}m$/i

  • 仅限小时:/^'d{1,2}h$/i

  • 仅分钟:/^'d{1,2}m$/i

  • 分钟和小时:/^'d{1,2}m'd{1,2}h$/i

var pattern1 = /^'d{1,2}h'd{1,2}m$/i;
var pattern2 = /^'d{1,2}h$/i;
var pattern3 = /^'d{1,2}m$/i;
var pattern4 = /^'d{1,2}m'd{1,2}h$/i;
var reg1 = RegExp(pattern1);
var reg2 = RegExp(pattern2);
var reg3 = RegExp(pattern3);
var reg4 = RegExp(pattern4);
var test = function() {
  var toTest = document.getElementById('i').value;
  if (
    !reg1.test(toTest) &&
    !reg2.test(toTest) &&
    !reg3.test(toTest) &&
    !reg4.test(toTest)
  ) alert('Not OK');
  else alert('OK');
}
<input id="i" type="text" value="" />
<input type="button" value="Test" onclick="test();" />