子字符串上的indexOf和lastIndexOf问题-从字符串中获取URL的一部分
Issues with indexOf and lastIndexOf on substring - Get Part of URL from string
以我想要的方式分解字符串时遇到了一些问题。我有一个这样的网址:
http://SomeAddress.whatever:portWhatever/someDirectory/TARGETME/page.html
我正在尝试使用子字符串和indexOf而不是regex来获取字符串上的TARGETME部分。这就是我现在使用的功能:
function lastPartofURL() {
// Finding Url of Last Page, to hide Error Login Information
var url = window.location;
var filename = url.substring(url.lastIndexOf('/')+1);
alert(filename);
}
然而,当我写这篇文章时,我的目标是"page.html"部分,所以这就是它返回的内容,但我很难重新配置它来做我现在想做的事情。
如果可能的话,我希望它从字符串的开头开始,而不是结尾,因为在我试图定位的内容之前应该总是有一个url和一个目录,但我对这两种解决方案都感兴趣。
这里有一个regex可以做类似的事情,但它不安全(根据JSLint的说法(,因此我不介意用功能更强大的东西替换它。
/^.*'/.*'/TARGETME'/page.html.*/
正如其他人已经回答的那样,.split()
对您的情况很好,但假设您打算返回URL的"最后一部分"(例如,对于http://SomeAddress.whatever:portWhatever/dirA/DirB/TARGETME/page.html
也返回"TARGETME"(,则您不能使用固定数字,而是取数组最后一部分之前的项:
function BeforeLastPartofURL() {
var url = window.location.href;
var parts = url.split("/");
var beforeLast = parts[parts.length - 2]; //keep in mind that since array starts with 0, last part is [length - 1]
alert(beforeLast);
return beforeLast;
}
使用string.split()
可以更轻松。。。
function getPath() {
var url = window.location;
var path = url.split("/")[4];
alert(path);
return path;
}
我只建议使用这种方法,因为你说你永远都知道URL的格式。
试试这个
function lastPartofURL() {
// Finding Url of Last Page, to hide Error Login Information
var url = window.location;
var sIndex = url.lastIndexOf('/');
var dIndex = url.lastIndexOf('.', sIndex);
if (dotIndex == -1)
{
filename = url.substring(sIndex + 1);
}
else
{
filename = url.substring(sIndex + 1, dIndex);
}
alert(filename);
}
function lastPartofURL() {
// Finding Url of Last Page, to hide Error Login Information
var url = window.location;
var arr = url.split('/');
alert(arr[4]);
}
请参阅此处
相关文章:
- 通过字符串获取JSON对象
- 将敲除绑定应用于模板,并将结果作为字符串获取
- 使用字符串获取本地对象的属性
- 如何使用 jQuery 在标签的 for 属性中使用子字符串获取标签元素的值
- 使用 Javascript 将 Java 渲染为字符串获取最终 HTML
- 如何使用正则表达式从此字符串获取电子邮件
- 维基媒体API从JSON字符串获取相关数据
- 如何使用jQuery将HTML数据值作为字符串获取
- 带有换行符的JSP+HTML-将其作为字符串获取,并删除"新线”;
- 如何从字符串获取url-jQuery或Javascript
- QML-将JS函数的代码作为字符串获取
- cookie字符串获取并设置jquery控件的属性
- 通过字符串获取HTML元素
- 从绝对url字符串获取锚值
- 在myObj.one.two.three.field中,当字段有2个或更多嵌套级别时,通过路径字符串获取对象字段
- 从带有moment的非本地ISO8601字符串获取时间(小时,分钟)
- 使用javascript使用parseFloat和parseInt无法正常工作的字符串获取价格
- 如何从json字符串获取键值
- 使用javascript从给定字符串获取电子邮件id
- 从Json字符串获取数据到javascript (jQuery)