たとえば、次のような URL があります。
私はjsコードがちょうど返すようにしたいvalue2x
. 試してみlocation.hash.split('=')[1]
ましたが、URLが次の場合のような最初のハッシュ値が得られます
返しますfdg&hash
。の値だけが必要ですhash
。
いいえ jQuery してください。
事前に助けてくれてありがとう。
たとえば、次のような URL があります。
私はjsコードがちょうど返すようにしたいvalue2x
. 試してみlocation.hash.split('=')[1]
ましたが、URLが次の場合のような最初のハッシュ値が得られます
返しますfdg&hash
。の値だけが必要ですhash
。
いいえ jQuery してください。
事前に助けてくれてありがとう。
function getHashValue(key) {
var matches = location.hash.match(new RegExp(key+'=([^&]*)'));
return matches ? matches[1] : null;
}
// usage
var hash = getHashValue('hash');
どうですか
location.hash.split('hash=')[1].split('&')[0]
これにより、ハッシュが分割され、hash=
hash= の後、他の引数の前に値が取得されます。
location.parseHash = function(){
var hash = (this.hash ||'').replace(/^#/,'').split('&'),
parsed = {};
for(var i =0,el;i<hash.length; i++ ){
el=hash[i].split('=')
parsed[el[0]] = el[1];
}
return parsed;
};
var obj= location.parseHash();
obj.hash; //fdg
obj.hfh; //value2x
広範な URL 操作を行っている場合は、JQuery URL プラグインを確認する必要があります。
URL ハッシュのパラメーターにアクセスするには
$.url('http://www.google.com/#hfh=fdg&hash=value2x').fparam('hash');
またはその現在のURLの場合
$.url().fparam('hash');
それが役に立てば幸い
分割して&
から=
:
pairs = location.hash.substr(1).split('&').map(function(pair) {
var kv = pair.split('=', 2);
return [decodeURIComponent(kv[0]), kv.length === 2 ? decodeURIComponent(kv[1]) : null];
})
キーが atで値が atpairs
の配列の配列は次のようになります。0
1
[["hfh","fdg"],["hash","value2x"]]
URL の場合?
: http://www.google.com/#?hash=value2x
コードは次のとおりです。
const url = 'http://www.google.com/#?hash=value2x';
new URLSearchParams(
(
new URL(url)
).hash.slice(1).split('?')[1]
).get('hash');
またurl
はない場合?
:
const url = 'http://www.google.com/#hash=value2x';
(new URLSearchParams((new URL(url)).hash.slice(1))).get('hash')