回答:
次のように.indexOf()
and を使用できます.substring()
。
var url = "www.aaa.com/task1/1.3.html#a_1";
var hash = url.substring(url.indexOf("#")+1);
あなたはそれをここで試してみることができます、それが中にないかもしれない場合#
は、次のif(url.indexOf("#") != -1)
ようなチェックをしてください:
var url = "www.aaa.com/task1/1.3.html#a_1", idx = url.indexOf("#");
var hash = idx != -1 ? url.substring(idx+1) : "";
これが現在のページのURLである場合は、を使用window.location.hash
して取得し、#
必要に応じてを置き換えることができます。
url.split("#").pop()
-遅いが簡単。
以下のために現在のウィンドウ、あなたはこれを使用することができます。
var hash = window.location.hash.substr(1);
メインウィンドウのハッシュ値を取得するには、次のコードを使用します。
var hash = window.top.location.hash.substr(1);
URL /ハッシュを含む文字列がある場合、最も簡単な方法は次のとおりです。
var url = 'https://www.stackoverflow.com/questions/123/abc#10076097';
var hash = url.split('#').pop();
jQueryを使用している場合は、次のようにします。
var hash = $(location).attr('hash');
var hash = window.location.hash.substr(1);
-JSにはsubstr / substring関数が両方あるため、両者は異なりますが、この場合は同じです。
使用する
window.location.hash
#を含むすべてのものを取得する
location.hash.slice(1)
最後の文字列にハッシュタグが必要ない場合は、忘れずに使用してください。
jQueryスタイル:
$(location).attr('hash');
次の「トリック」を使用して、有効なURL を解析できます。それはを活用するアンカー要素、の特別のhref関連のプロパティhash
。
function getHashFromUrl(url){
return $("<a />").attr("href", url)[0].hash.replace(/^#/, "");
}
getHashFromUrl("www.example.com/task1/1.3.html#a_1"); // a_1
function getHashFromUrl(url){
var a = document.createElement("a");
a.href = url;
return a.hash.replace(/^#/, "");
};
getHashFromUrl("www.example.com/task1/1.3.html#a_1"); // a_1
プレーンなURL文字列がある場合(したがってハッシュ属性がない場合)、正規表現を使用することもできます。
var url = "www.example.com/task1/1.3.html#a_1"
var anchor = url.match(/#(.*)/)[1]
window.top.location.hash
代わりにを使用する必要があります。