指定された部分文字列を抽出し、その部分文字列に続く数字を抽出する必要があります。
たとえばcid=159
、文字列から抽出する必要があります:
http://website.com/ProductCats.asp?cid=159&otherjunk=1
. 一定のままですcid=
が、それに続く数字は変わる可能性があり、1 ~ 4 桁の間のどこかになります。
そのパターンを抽出する方法はありますか?
ありがとうございます。
これは役立つかもしれません。どこで見つけたのか思い出せないのですが、URLを取得して参照可能な配列に変数を代入する関数です。また、これは純粋なJavaScriptです。
function getUrlVars() {
var vars = [], hash;
var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
for(var i = 0; i < hashes.length; i++) {
hash = hashes[i].split('=');
vars.push(hash[0]);
vars[hash[0]] = hash[1];
}
return vars;
}
だからあなたはするだろう
var myURLArray = getUrlVars();
var cid = myURLArray['cid'];
とても助かりました。繰り返しますが、これは作成していませんが、便利です。
必要に応じて、現在のウィンドウ URL だけでなく、任意の URL に JavaScript のみを使用します。getLocation
これに関連する以前のSOの質問から関数を借りました。
var getLocation = function(href) {
var l = document.createElement("a");
l.href = href;
return l;
};
var getUriObject = function(href){
var l = getLocation(href);
var queryArray=l.search.substr(1).split('&');
var uriObject={};
for(var i=0;i<queryArray.length;i++){
uriObject[queryArray[i].split('=')[0]]=queryArray[i].split('=')[1];
}
return uriObject;
}
alert(getUriObject("http://website.com/ProductCats.asp?cid=159&otherjunk=1").cid);