Javascript中的RegEx - 有效时间格式

时间:2016-02-23 19:26:50

标签: javascript regex

我有以下方法检查时间格式为hh:mm

现在我也允许消极时间(-hh:mm)。

我在正则表达方面不擅长。也许有人可以帮我正则表达式。

function isAmountOfTimeValid(amountOfTime) {
    var pattern = new RegExp('^\\d{1,3}(:\\d{1,2})?$')
    var result = pattern.test(amountOfTime);
    return result;
}

1 个答案:

答案 0 :(得分:0)

你可以试试这个:

/^-?\d{1,2}(?::\d{1,2})?$/

它与OP正则表达式非常相似,只添加-?可选地匹配字符串begin处的负号并用非捕获(?:)替换捕获组,因为没有必要在这里捕获。

Demo

function isAmountOfTimeValid(amountOfTime) {
    var pattern = new RegExp('^-?\\d{1,2}(?::\\d{1,2})?$')
    var result = pattern.test(amountOfTime);
    return result;
}

var test_set = ["13:00", "-13:00", "13", "133:0"]

for(var i = 0; i < test_set.length; i++){
  alert(test_set[i] + ": " + isAmountOfTimeValid(test_set[i]))
}