最近发了一个关于在JS中通过正则表达式转换时间格式的问题。
现在我稍微修改了代码。
function getHours(value) {
if (value == 0)
return 0;
var re = new RegExp("^(?=\d)((\d+)(h|:))?\s*((\d+)m?)?$", "g");
var myArray = re.exec(value);
var hours = 0;
var minutes = 0;
if (myArray != null) {
if (myArray[2] != null) {
hours = myArray[2];
}
if (myArray[5] != null) {
minutes = myArray[5];
}
}
return Number(hours) + Number(minutes) / 60;
}
问题是它返回一个null
值myArray
。
由于我是 JS 新手,我无法解决这个问题。我究竟做错了什么?