2016-02-23 25 views
0

我有以下方法检查时间格式是hh:mm正则表达式在Javascript中 - 有效时间格式

现在我也会允许负时间(-hh:mm)。

我不擅长正则表达式。也许有人可以用正则表达式来帮助我。

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

尝试:'VAR图案=/^ - \ d {1,2}?(:\ d {1,2})$/' – anubhava

回答

0

可以尝试这样:

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

这是非常相似的OP的正则表达式,仅加入-?任选匹配在串中的负符号的开始和由非捕捉取代的捕获组( ?:),因为这里不需要捕捉任何东西。

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])) 
 
}