正则表达式仅匹配javascript中字符串的时间值

时间:2017-04-24 06:11:48

标签: javascript jquery regex

我有以下格式的日期字符串x.toLocaleString().toLowerCase() "fri apr 21 2017 19:18:21 gmt+0530 (india standard time)"想要仅提取19:18:21。如何使用javascript正则表达式从整个字符串中提取这些值。

2 个答案:

答案 0 :(得分:1)

使用正则表达式通过分组提取时间:

var str = "fri apr 21 2017 19:18:21 gmt+0530 (india standard time)";

console.log(str.match(/(\d+:\d+:\d+)+/)[0])

答案 1 :(得分:1)

REGEX应过滤掉无效的时间格式,例如" 60:23:22"它不属于12H或24H格式,所以它应该是

var regExp = /([01][0-9]|2[0-3]):[0-5][0-9]:[0-5][0-9]/g; 



var str = "19:18:21 65:45:33 12:23:23 30:34:22 100:22:22 10:22:222";
var regExp = /\b([01]\d|2[0-3]):[0-5]\d:[0-5]\d\b/g;
console.log(str.match(regExp));