获取URL路径字符串中的最后一个值
Get last value in URL path string
给定类似的href
http://localhost:8888/#/路径/某个值/需要这个
如何获取路径字符串中的最后一个值(又名:"needthis")?
我尝试使用window.location.pathname
,它给出"/"。
我还尝试使用Angular的$location
,它没有提供最后一个值。
你可以试试这个:
s="http://localhost:8888/#!/path/somevalue/needthis"
var final = s.substr(s.lastIndexOf('/') + 1);
alert(final)
window.location.pathname.split("/").pop()
由于您使用的是angularjs,因此可以使用:
$location.path().split('/').pop();
我要做的是生成一个函数,该函数获取您想要的部分的索引。。这样你就可以随时获得任何零件
getPathPart = function(index){
if (index === undefined)
index = 0;
var path = window.location.pathname,
parts = path.split('/');
if (parts && parts.length > 1)
parts = (parts || []).splice(1);
return parts.length > index ? parts[index] : null;
}
有了这个,你当然可以做一些更改,比如getLastIndex标志,当为true时,你可以返回它。。
getPathPart = function(index, getLastIndex){
if (index === undefined)
index = 0;
var path = window.location.pathname,
parts = path.split('/');
if (parts && parts.length > 1)
parts = (parts || []).splice(1);
if(getLastIndex){
return parts[parts.length - 1]
}
return parts.length > index ? parts[index] : null;
}
反转字符串,然后从反转字符串的开头到第一个出现"/"处执行子字符串。
类似这样的东西:
var string = "http://localhost:8888/#!/path/somevalue/needthis";
var segments = string.split("/");
var last = segments[segments.length-1];
console.log(last);
您也可以为此使用正则表达式:
var fullPath = 'http://localhost:8888/#!/path/somevalue/needthis',
result = fullPath.match(/('w*)$/gi),
path = (result)? result[0] : '';
这样path
将拥有来自URL 的最后一块文本
相关文章:
- 使用javascript替换字符串中除第一个和最后一个之外的所有字符
- 如何从由“”分隔的字符串中提取最后一个文本|&”;
- 如何替换字符串中最后一个出现的变量
- 在Javascript中截断一个字符串,混淆了最后两个测试字符串
- 正则表达式删除最后一个数字之后的字符串
- JavaScript 不会替换字符串的最后一个符号
- 在 Javascript 中获取字符串中的最后一个符号时值错误
- 递归查找嵌套数组中的最后一个字符串
- 获取字符串中最后一个换行符的最有效方法是什么
- 将 URL 的最后一个字符串与 Li 的 ID 名称进行比较
- 正在获取链接的最后一个字符串
- 提取 URL 的最后一个字符串
- javascript:抓取空白后的最后一个字符串
- Javascript RegExp 在 / 之后获取第二个也是最后一个字符串
- 使用jQuery从URL获取最后一个字符串
- 拆分有限制的字符串,其中最后一个字符串包含余数
- 如何使用jQuery获取最后一个字符串
- PHP字符串在javascript代码中加上逗号,最后一个字符串除外
- 获取最后一个字符串“"其可以包含“&”;
- 去掉最后一个字符串的逗号