Javascript 检查准确的URL

Javascript 检查准确的URL,javascript,jquery,Javascript,Jquery,我在检查网站页面中的URL时遇到问题。 这就是我所拥有的 检查准确的字符串效果良好: var url = location.pathname; if ("url:contains('texas-ignition-interlock')") { $("body").addClass("texas-ppc-page"); } 但是当我有一个类似单词的页面url时,两个类都被添加到了这两个页面中 var url = location.pathname; if ("url:contains('te

我在检查网站页面中的URL时遇到问题。 这就是我所拥有的

检查准确的字符串效果良好:

var url = location.pathname;
if ("url:contains('texas-ignition-interlock')") {
  $("body").addClass("texas-ppc-page");
}
但是当我有一个类似单词的页面url时,两个类都被添加到了这两个页面中

var url = location.pathname;
if ("url:contains('texas-ignition-interlock-device')") {
  $("body").addClass("texas-ppc-device-page");
}
我还尝试了
indexOf
,但没有对具有类似名称的页面执行任何操作。 这是我尝试过的,这对第一个例子有效。第二个示例也将添加第一个类

if (window.location.href.indexOf("texas-ignition-interlock") > -1) {
  $("body").addClass("texas-ppc-page");
}

if (window.location.href.indexOf("texas-ignition-interlock-devices") > -1) {
  $("body").addClass("texas-ppc-device-page");
}
现在,我仍然可以使用
indexOf
版本。我只需在一个页面上使用类
.texas ppc page
,在第二个页面上,我将使用
.texas ppc page.texas ppc device page
的两个类来确定目标

使用JS或jQuery有更好的方法吗?

您可以使用split(“/”)将
location.pathname
拆分为字符串数组。
location.pathname
将类似于
/questions/41968769/检查准确的url
,因此用“/”拆分此字符串将导致

[,“问题”,“41968769”,“检查准确的url”]


现在您可以执行indexOf(“”),如果字符串完全匹配,它将返回非-1值,就像在本例中,如果我执行indexOf(“url”)函数将返回-1,如果我执行indexOf(“检查确切的url”),它将返回3。

如果您希望以类似的方式检查字符串,您可以利用正则表达式,如下图所示,via带有占位符
^
$
,分别用于开始和结束。否则,
indexOf
甚至会匹配字符串的一部分。查看以下内容

var url = 'texas-ignition-interlock-devices';

console.log(/^texas-ignition-interlock$/.test(url));         // false
console.log(/^texas-ignition-interlock-devices$/.test(url)); // true

为什么不在服务器上添加这些类呢?我们在DNN CMS上。数据库驱动的页面。下面是我如何使用您的答案:var url=location.pathname.split(“/”);var url1=url.indexOf(“德克萨斯点火联锁”);var url2=url.indexOf(“德克萨斯州点火联锁装置”);if(url1==2){alert(“firstPage”);}if(url2==2){alert(“secondPage”);}感谢您的帮助!莫德,如果你有时间的话,检查一下另一个答案。我用你的例子和他的一起。我用了莫德的第一个答案。但这也是一个很好的答案。这个测试对我来说是新的。我把第一个(被接受的)答案和你的答案混在一起,效果非常好。下面是我在firebug中的测试方法:var url=location.pathname.split(“/”[2];如果(/^texas ignition interlock$/.test(url)){alert(“第一页”);}如果(/^texas ignition interlock devices$/.test(url)){alert(“第二页”)}我将投票支持您的答案!