Javascript jQuery获取URL的最后一部分
我有一系列的页面,我需要得到一个按钮的特定代码。 我想用jQuery将url中的代码放入一个变量中 示例URL是www.example.com/folder/code/12345/ 我想获取名为(siteCode)的变量中的数字部分 提前感谢您的回答 jquery/伪代码:Javascript jQuery获取URL的最后一部分,javascript,jquery,html,url,get,regex,Javascript,Jquery,Html,Url,Get,Regex,我有一系列的页面,我需要得到一个按钮的特定代码。 我想用jQuery将url中的代码放入一个变量中 示例URL是www.example.com/folder/code/12345/ 我想获取名为(siteCode)的变量中的数字部分 提前感谢您的回答 jquery/伪代码: var siteCode; // start function function imageCode(){ siteCode // equals number part of URL $('.butto
var siteCode;
// start function
function imageCode(){
siteCode // equals number part of URL
$('.button').attr('src', 'http:www.example.com/images/'+siteCode+'.jpg');
}
您可以使用split我建议:
var URI = 'www.example.com/folder/code/12345/',
parts = URI.split('/'),
lastPart = parts.pop() == '' ? parts[parts.length - 1] : parts.pop();
.您可以使用以下代码获取url的最后一部分:
var value = url.substring(url.lastIndexOf('/') + 1);
也可以尝试使用
有一种最好的方法可以获取URL的最后一部分,如下所示,这通常已在实际实现中使用 在之前给出的答案中,存在一些漏洞:
1.考虑如果有一个URL,比如代码> www.Simult/com /文件夹/代码/ 12345 < /代码>(没有'/'向前斜线),那么上面的代码就不会像预期那样工作了。 <> P> 2.考虑文件夹层次结构是否像<代码> >示例.com /文件夹/子文件夹/子文件夹/代码/ 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;
}
您可能会被愚弄,意识到
lastIndexOf('/')
作为URL/字符串的最后一个字符出现?使用.pop()
会造成混乱,因为它具有破坏性,并且会更改部分[]
数组。如果URI没有尾随斜杠,则返回“12345”失败,而是返回“code”。使用这个版本更直接:lastPart=parts[parts.length-1]!=''?零件[零件.长度-1]:零件[零件.长度-2]代码>
var url = "www.example.com/folder/code/12345";
var checkExt = /\d$/i.test(url);
if (checkExt) {
alert("Yup its a numeric");
} else {
alert("Nope");
}
$(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;
}