Javascript 如何检查URL末尾是否有特定字符串

Javascript 如何检查URL末尾是否有特定字符串,javascript,jquery,url,Javascript,Jquery,Url,我需要得到一个覆盖下滑的基础上,什么网址在它的结尾 如果(URL末尾有“常见问题解答”) { 覆盖层脱落 } 如何在jQuery/JavaScript中做到这一点?您应该能够将window.location对象与regexp一起使用,如下所示: /faq$/.test(window.location) var url = window.location.href; var lastPart = url.substr(url.lastIndexOf('/') + 1); if (lastPar

我需要得到一个覆盖下滑的基础上,什么网址在它的结尾

如果(URL末尾有“常见问题解答”) { 覆盖层脱落 }


如何在jQuery/JavaScript中做到这一点?

您应该能够将window.location对象与regexp一起使用,如下所示:

/faq$/.test(window.location)
var url = window.location.href;
var lastPart = url.substr(url.lastIndexOf('/') + 1);

if (lastPart === "faq") {
   // Show your overlay
}
function getLastPart(url) {
    var parts = url.split("/");
    return (url.lastIndexOf('/') !== url.length - 1 
       ? parts[parts.length - 1]
       : parts[parts.length - 2]);
}

如果您的URL看起来像这样
http://yourdomain.com/faq
,您可以执行以下操作:

/faq$/.test(window.location)
var url = window.location.href;
var lastPart = url.substr(url.lastIndexOf('/') + 1);

if (lastPart === "faq") {
   // Show your overlay
}
function getLastPart(url) {
    var parts = url.split("/");
    return (url.lastIndexOf('/') !== url.length - 1 
       ? parts[parts.length - 1]
       : parts[parts.length - 2]);
}
这将有可能检查其他结尾,并对它们采取行动

更新:

要使其正常工作,即使URL后面有斜杠,也可以创建如下函数:

/faq$/.test(window.location)
var url = window.location.href;
var lastPart = url.substr(url.lastIndexOf('/') + 1);

if (lastPart === "faq") {
   // Show your overlay
}
function getLastPart(url) {
    var parts = url.split("/");
    return (url.lastIndexOf('/') !== url.length - 1 
       ? parts[parts.length - 1]
       : parts[parts.length - 2]);
}
然后可以调用函数
getLastPart(window.location.href)
获取当前页面URL的最后一部分

以下是一个工作示例:


免责声明:如果URL结尾使用哈希或查询字符串,则必须先从URL中删除,此脚本才能正常工作

您可以使用以下方法获取当前URL:

 var currentUrl = window.location.href;
然后,您可以使用indexOf检查您的令牌是否位于字符串的末尾(这里是faq)


ES6规范中添加了一种新方法
endsWith()
。对于以前的版本,我们可以使用

if (!String.prototype.endsWith)
  String.prototype.endsWith = function(searchStr, Position) {
      // This works much better than >= because
      // it compensates for NaN:
      if (!(Position < this.length))
        Position = this.length;
      else
        Position |= 0; // round position
      return this.substr(Position - searchStr.length,
                         searchStr.length) === searchStr;
  };
参考资料:

您的URL是字符串还是当前页面URL?对不起,我错了,URL是实际页面URL…您的URL是什么样的?为了更容易找到合适的方法,您应该参考:和@Alex Correct的可能副本,如果是这样的话,它就不起作用了。您的地址总是有尾随/,还是只有一些路径有尾随/?忽略参数:/path\/到$/.test(window.location.pathname)