从url字符串javascript中删除文本

时间:2015-07-06 19:37:10

标签: javascript url replace

我想用javascript显示用户所在页面的文件名。例如,

https://test.example.com/wow.html

应该返回

wow

我试图使用replace()方法,如下所示:

var url = document.URL;
document.getElementById("code").innerHTML = url.replace("http://test.example.com/", " ");

但我无法弄清楚如何删除.html扩展名,或者也可以替换https网址。有更好的方法吗?

感谢。

5 个答案:

答案 0 :(得分:1)

使用<a>元素可以解决这个问题:

var parser = document.createElement('a');
parser.href = "http://example.com/foo.html";
parser.pathname; // => "/foo.html"

您可以根据需要解析/.html,但始终可以从.pathname获取正确的路径。

有关此方法的详情,请参阅here

答案 1 :(得分:0)

这可能对您有用:

document.getElementById("code").innerHTML = url.substring(url.lastIndexOf("/"), url.lastIndexOf("."));

答案 2 :(得分:0)

您可能希望使用regular expressions,如下所示:

"https://test.example.com/wow.html".match(/https?:\/\/test\.example\.com\/(\w*).html/)
// Returned list: ["https://test.example.com/wow.html", "wow"]

开始使用像Regex101这样的工具时,可以了解表达式:

enter image description here

答案 3 :(得分:0)

var text = "https://test.example.com/wow.html";
var new_text = text.slice(text.indexOf("//") + 2, text.indexOf(".html")).split('/');
console.log(new_text[1]);

答案 4 :(得分:0)

另一种可能的方法。

var url = "https://test.example.com/wow.html"

var urlSplit = url.split("/");
var name = urlSplit[urlSplit.length-1].split(".")[0];
console.log(name);

//这当然会失败,例如my.page.html,但这只是为了提供另一种选择。 :)