私はJavaScriptでjavascriptを使用してエンコードされたURLからクエリ文字列の値を取得するにはどうすればよいですか?
var querystring = "http%3A%2F%2Fspsrv%3A1361%2FSitePages%2FCountryManagment%2Easpx%3FCountryId%3D1";
次エンコードされたURL文字列はどのように私はそれからCountryId
の値を取得することができますか?
私はJavaScriptでjavascriptを使用してエンコードされたURLからクエリ文字列の値を取得するにはどうすればよいですか?
var querystring = "http%3A%2F%2Fspsrv%3A1361%2FSitePages%2FCountryManagment%2Easpx%3FCountryId%3D1";
次エンコードされたURL文字列はどのように私はそれからCountryId
の値を取得することができますか?
あなたはdecodeURIcomponentでURLをデコードして、URLからパラメータを取得するためにregex
を使用する必要があります
var querystring = decodeURIComponent("http%3A%2F%2Fspsrv%3A1361%2FSitePages%2FCountryManagment%2Easpx%3FCountryId%3D1");
document.getElementById("decodedURL").innerHTML = querystring;
function getParam(param, url) {
if (!url) url = window.location.href;
param = param.replace(/[\[\]]/g, "\\$&");
var regex = new RegExp("[?&]" + param + "(=([^&#]*)|&|#|$)"),
results = regex.exec(url);
if (!results) return null;
if (!results[2]) return '';
return results[2].replace(/\+/g, " ");
}
document.getElementById("parameter").innerHTML = getParam("CountryId", querystring);
デモ:JSFIDDLE
ありがとうございました。あなたは私に数時間の欲求不満を救った。 – user6599525
@ user6599525 - 問題ありません。あなたが達成したいことを今でも続けることができることを願っています –
あなたの解決策はより単純ですが、長いです。 – Mohammad
最初に、あなたはあなたが行うことができます.decodeURI()
を使用して、URLをデコードする必要がありますそれ。次に.split()
を使用してURLを配列に分割したり、.match()
を使ってURLの特定の部分を正規表現で選択することができます。
var querystring = "http%3A%2F%2Fspsrv%3A1361%2FSitePages%2FCountryManagment%2Easpx%3FCountryId%3D1";
var result = decodeURIComponent(querystring).split("?")[1].split("=")[1];
var result2 = decodeURIComponent(querystring).match(/CountryId=([\d]+)/)[1];
console.log(result, result2);
CountryId' '代わりに入れて数? – Mohammad
URLをどのようにエンコードしましたか? – str
どういう意味ですか? – user6599525