次のURLを分割しようとしています:
http://www.store.com/products.aspx/Books/The-happy-donkey
だけを取得するためにhttp://www.store.com/products.aspx
私はJavaScriptを使用してwindow.location.href
いますsplit
が、今のところ成功していません。
これはどのように行うことができますか?ありがとう!
次のURLを分割しようとしています:
http://www.store.com/products.aspx/Books/The-happy-donkey
だけを取得するためにhttp://www.store.com/products.aspx
私はJavaScriptを使用してwindow.location.href
いますsplit
が、今のところ成功していません。
これはどのように行うことができますか?ありがとう!
これを試して
var fullurl = "http://www.store.com/products.aspx/Books/The-happy-donkey",
url = fullurl.split(".aspx")[0] + ".aspx";
URLの場合:アドレスバーのhttp://www.store.com/products.aspx/Books/The-happy-donkey
var path = window.location.pathname;
var str = path.split("/");
var url = document.location.protocol + "//" + document.location.hostname + "/" + str[1];
これは扱いにくいではありませんか?
var url = 'http://www.store.com/products.aspx/Books/The-happy-donkey';
[
url.split('://')[0] + '://',
url.split('://')[1].split('/').slice(0,2).join('/')
].join('')
少し生意気ではありません:
url.split('/').slice(0, 4).join('/')
(分割よりも)より良い答えは、(楽しみのために)本当に分割を使用する必要がない限り、おそらく正直に正規表現を使用することです。
var shorterUrl = window.location.href.replace(/\.aspx.+/gi, ".aspx");
これにより、指定されたURLの末尾が.aspxで始まり、.aspx部分だけが保持されます。
しかし、何よりもまず、これは特定の問題に対する適切な解決策ではありません(このような問題をより一般的に解決してみてください)。
これを試してみてください、あなたはURLのオブジェクトを取得します
console.log(new URL(document.URL));