9

我有一系列页面需要获取按钮的特定代码。我想将 url 中的代码放入带有 jQ​​uery 的变量中。

示例 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');
}
4

5 回答 5

14

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

var value = url.substring(url.lastIndexOf('/') + 1);
于 2013-06-18T10:42:57.780 回答
11

我建议:

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

JS 小提琴演示

于 2013-06-18T10:41:39.447 回答
10
var str="url";

str.split("/")[3]

你可以使用拆分

于 2013-06-18T10:40:50.427 回答
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;
}
于 2015-10-26T08:16:21.113 回答
1

也尝试使用

var url = "www.example.com/folder/code/12345";
  var checkExt = /\d$/i.test(url);
  if (checkExt) {
      alert("Yup its a numeric");
  } else {
      alert("Nope");
  }
于 2013-06-18T10:55:33.453 回答