gpt4 book ai didi

javascript - 使用 jQuery 匹配表格单元格中的日期模式

转载 作者:行者123 更新时间:2023-11-28 01:52:56 25 4
gpt4 key购买 nike

我有一个 HTML 表格,其中的单元格包含遵循特定模式的日期。当单元格包含日期时,同一列中的所有单元格都是相同模式的日期。如何使用 jQuery 匹配格式并返回列?下面是演示该模式的示例表:

+-------+-----------+-----------------------+-----------------------+----------+
| Type | Compiled? | Modified (CDT) | Created (CDT) | Priority |
+-------+-----------+-----------------------+-----------------------+----------+
| Fancy | yes | Oct 18, 2013 16:17:00 | Oct 08, 2013 05:50:32 | 75 |
| Fancy | yes | Oct 18, 2013 16:16:28 | Oct 18, 2013 15:46:05 | 75 |
| Fancy | yes | Oct 18, 2013 16:15:25 | Oct 17, 2013 19:04:51 | 75 |
+-------+-----------+-----------------------+-----------------------+----------+

最佳答案

您可以尝试以下方法:

$('table td').filter(function () { return /.../.test($(this).html()); }).map(function () { return $(this).index(); } );

...其中/.../是与您要查找的日期格式匹配的正则表达式。这将返回一组列索引,其中至少包含该模式的一个匹配项。这不是一个独特的列表。如果您只是在寻找模式而不绝对需要确保它是有效日期,则以下正则表达式将起作用...

/^\w{3}\s\d+,\s\d{4}\s\d{1,2}:\d{2}:\d{2}$/

(这将匹配 Ziptember 的 45 日的 99 点,因此也许会得到更好的正则表达式。)

我将稍微分解一下这条密集的线,以便更好地说明事情:

date_filter = function () { return /^\w{3}\s\d+,\s\d{4}\s\d{1,2}:\d{2}:\d{2}$/.test($(this).html())}

map_td_to_index = function () { return $(this).index(); }

console.log($('table td').filter(date_filter).map(map_td_to_index));

编辑:删除了 $.unique 的错误用法,它仅适用于 DOM 元素数组。你可以利用这样的东西:

$.fn.extend({ unique: function() 
{
arr = $.makeArray(this);
return $.grep(arr, function(elem, idx)
{
return $.inArray(elem, arr, idx + 1) === -1;
});
}
});

然后只需在调用map()之后调用.unique()即可。

关于javascript - 使用 jQuery 匹配表格单元格中的日期模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19481462/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com