我有以下方法检查时间格式为hh:mm
。
现在我也允许消极时间(-hh:mm
)。
我在正则表达方面不擅长。也许有人可以帮我正则表达式。
function isAmountOfTimeValid(amountOfTime) {
var pattern = new RegExp('^\\d{1,3}(:\\d{1,2})?$')
var result = pattern.test(amountOfTime);
return result;
}
答案 0 :(得分:0)
你可以试试这个:
/^-?\d{1,2}(?::\d{1,2})?$/
它与OP正则表达式非常相似,只添加-?
可选地匹配字符串begin处的负号并用非捕获(?:
)替换捕获组,因为没有必要在这里捕获。
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]))
}