如何使JS/Jquery中带有window.location.pathname的if语句在路径名之后不包含任何内容?

如何使JS/Jquery中带有window.location.pathname的if语句在路径名之后不包含任何内容?,jquery,Jquery,我正在尝试获取此URL“http://www.example.com/womens-collection/ceramic要重定向到URLhttp://www.example.com/the-ceramic". 下面是代码 if(window.location.pathname == "/womens-collection/ceramic") { //alert("worked"); document.location = "/the-ceramic"; //$('#jb

我正在尝试获取此URL“http://www.example.com/womens-collection/ceramic要重定向到URLhttp://www.example.com/the-ceramic". 下面是代码

   if(window.location.pathname == "/womens-collection/ceramic") {
   //alert("worked");
   document.location = "/the-ceramic";
   //$('#jbw-spot-mobile_details').toggleClass('opened')}
工作正常,但我不希望产品的任何其他URL受此影响,如“http://www.example.com/womens-collection/ceramic?page=shop.product_details"

如何让jquery只识别“/女性收藏/陶瓷”,而不识别其后的任何内容?

返回QS部分

if(window.location.pathname == "/womens-collection/ceramic")
{
    if(!window.location.search)
    {
        // do your thing
    }
}

只需在路径的末尾使用正则表达式进行匹配。

是否使用一些后端代码?例如,PHP或ASP或其他什么?检查是否存在任何查询字符串或执行子字符串,并找到URL中出现的“?”应在服务器端处理,否则您服务一个页面只是为了拒绝它,并将其替换为另一个页面,您还必须服务另一个页面。您希望在客户端执行此类操作的唯一原因是(a)服务器端环境不足(b)无法访问服务器端环境(c)重定向取决于用户与原始服务页面的交互。为什么不合并if语句?@adammerifield。可以,代码只是为了演示。OP/读者可以使用他们的首选项。'if(window.location.pathname==”/advanced_search/?with=“){alert(“worked”)}如何使用“?”with=“work”生成路径名?如果结尾有斜杠、问号(不带参数)或散列,该怎么办?然后将正则表达式更改为/(/womens collection/陶瓷[#?/])$/或/(/womens collection/陶瓷[#?/]))美元/或其他感觉。
regex = /(/womens-collection/ceramic)$/i; // Using the i flag for case insensitivity. Feel free to remove if you want.
path = window.location.pathname;
if (path.match(regex)) {
   // Do stuff.
}