jQuery 获取 URL 的最后一部分

jQuery get last part of URL

本文关键字:最后 一部分 URL 获取 jQuery      更新时间:2023-09-26

我有一系列页面,我需要在其中获取按钮的特定代码。我想使用 jQuery 将 url 中的代码放入变量中。

示例网址 www.example.com/folder/code/12345/

我想在一个名为(siteCode(的变量中获取数字部分

提前感谢您的任何答案。

jquery/伪代码:

var siteCode;
// start function
function imageCode(){
     siteCode // equals number part of URL
     $('.button').attr('src', 'http:www.example.com/images/'+siteCode+'.jpg');
}

可以使用以下代码获取 url 的最后一部分:

var value = url.substring(url.lastIndexOf('/') + 1);

我建议:

var URI = 'www.example.com/folder/code/12345/',
    parts = URI.split('/'),
    lastPart = parts.pop() == '' ? parts[parts.length - 1] : parts.pop();

JS小提琴演示。

var str="url";
str.split("/")[3]

您可以使用拆分

有一种最好的方法来获取URL的最后一部分,就像下面一样,通常在实际实现中使用。

之前给出的答案有一些漏洞是:

1.考虑如果有一个像 www.example.com/folder/code/12345 这样的 url(没有"/"正斜杠(那么上面的代码都不会按预期工作。

2.考虑文件夹层次结构是否像www.example.com/folder/sub-folder/sub-sub-folder/code/12345一样增加

$(function () {
     siteCode = getLastPartOfUrl('www.example.com/folder/code/12345/');
});
var getLastPartOfUrl =function($url) {
    var url = $url;
    var urlsplit = url.split("/");
    var lastpart = urlsplit[urlsplit.length-1];
    if(lastpart==='')
    {
        lastpart = urlsplit[urlsplit.length-2];
    }
    return lastpart;
}

也尝试使用正则表达式

var url = "www.example.com/folder/code/12345";
  var checkExt = /'d$/i.test(url);
  if (checkExt) {
      alert("Yup its a numeric");
  } else {
      alert("Nope");
  }