【发布时间】:2013-06-23 15:47:16
【问题描述】:
我有一个 WordPress 网站,并且正在使用 AJAX 来更新存档而不是重新加载页面(在非常基本的术语中)。
所以我可以通过:
http://mysite.com/events/2012/10/17
http://mysite.com/events/2012/10
http://mysite.com/events/2012
我正在寻找可以检索其中任何一个的 JS/jQuery 正则表达式方法。到目前为止,我有以下内容:
var linkUrl = 'http://mysite.com/events/2012/10';
var linkDate = linkUrl.match(/\d{4}(\/\d{2})+/);
console.log( linkDate ); // output - ["2012/10", "/10", index: 8, input: "/events/2012/10"]
它似乎找到了 2 个匹配项,其中第二个不是我想要的。我确信这在我的正则表达式中很简单。
【问题讨论】:
-
这显然是示例代码。在您的实际代码中,
<a>元素中的 url 是否被点击? -
你检查过这个问题了吗:stackoverflow.com/questions/4478426/…?
-
@CrazyTrain 是的,这是示例代码,linkUrl 由 $(this).attr('href') 填充,这基本上给了我上面显示的内容。
-
@JonathanNaguin 我没有,它肯定很有帮助,但是这个表达式比
/\d{4}\/\d{2}\/\d{2}/高级一点,因为它总是只查找一天,而不是每月。我发现了解决方案 - 发布在下面。 -
你为什么关心它返回多少匹配?只需使用
linkDate[0]。
标签: javascript regex url date