这是我的代码:
var url="https://muijal-ip-dev-ed.my.salesforce.com/apexpages/setup/viewApexPage.apexp?id=066415642TPaE";
在这个字符串中我只需要
url="https://muijal-ip-dev-ed.my.salesforce.com/"
我需要字符串直到" com /"应该删除其余的字符串。
答案 0 :(得分:4)
在现代浏览器中,您可以使用URL()
var url=new URL("https://muijal-ip-dev-ed.my.salesforce.com/apexpages/setup/viewApexPage.apexp?id=066415642TPaE");
console.log(url.origin)
对于不受支持的浏览器use regex
答案 1 :(得分:1)
使用javascript split
url = url.split(".com");
url = url[0] + ".com";
如果Url格式正确,那么应该留下想要的字符串。
答案 2 :(得分:1)
您可以像这样使用locate
然后substr
:
var url = url.substr(0, url.locate(".com"));
locate
返回搜索到的字符串的索引,然后substr
将从开头剪切到该索引〜
答案 3 :(得分:1)
子串函数应该很好地处理它:
function clipUrl(str, to, include) {
if (include === void 0) {
include = false;
}
return str.substr(0, str.indexOf(to) + (include ? to.length : 0));
}
console.log(clipUrl("https://muijal-ip-dev-ed.my.salesforce.com/apexpages/setup/viewApexPage.apexp?id=066415642TPaE", ".com", true));
答案 4 :(得分:1)
如果URL
API(由another answer建议)不可用,您可以可靠地使用HTMLAnchorElement
界面的属性作为解决方法,如果您想避免使用常规表达式。
var a = document.createElement('a');
a.href = 'https://muijal-ip-dev-ed.my.salesforce.com/apexpages/setup/viewApexPage.apexp?id=066415642TPaE';
console.log(a.protocol + '//' + a.hostname);