Javascript 使用匹配和正则表达式从某些元素中提取日期 returns 空数组

Javascript extract date from certain elements with match and regex returns empty array

我想为网站制作一个用户脚本,我想在其中提取 select 某些 <td> 字段中的日期。 示例:

<tbody>
<td><img></td>
<td>something</td>
<td>something</td>
...
<td style="text-align:center;">2016-02-10 13:27</td>
<td>something</td>
...
<td>something</td>
</tbody>

我想做两件事: 1. 将日期与另一个存储的日期进行比较(并检查它是否更晚)。 2.更改日期所在的<td>元素的background-color。

这就是我所拥有的,它 returns 是一个空数组...

var dateArray = [];
$("td").each(function(){
    if(String(this).match(/\d{4}-\d{2}-\d{2} \d{2}:\d{2}/)){
        dateArray.push(this);
    }
});

怎么了and/or我可以做些什么更好的方法?

谢谢!

您也可以尝试创建一个日期对象。并检查是否创建了有效日期

var date = new Date($(this).text());
if (isNaN(date.getTime())) {
  // invalid date
} else {
  // valid date
}