重複の可能性:
クエリ文字列値を取得するにはどうすればよいですか?
テスト中にURLからページ番号を取得しようとしています。URLは次のようになります。
http://www.site.com/objects/search/8765XX/results?page=2&sort_att=posted_dt&sort_dir=desc
取得したいのは、URLの「page=」の直後のページ番号です。
重複の可能性:
クエリ文字列値を取得するにはどうすればよいですか?
テスト中にURLからページ番号を取得しようとしています。URLは次のようになります。
http://www.site.com/objects/search/8765XX/results?page=2&sort_att=posted_dt&sort_dir=desc
取得したいのは、URLの「page=」の直後のページ番号です。
1行で、URLを分割します。jsfiddle
var url = "http://www.site.com/objects/search/8765XX/results?page=2&sort_att=posted_dt&sort_dir=desc";
var pageNumber = parseInt(url.split("page=")[1].split("&")[0], 10);
私はURLパラメータをフェッチするこの小さな関数を持っています(私は何年も前にインターネットでそれを見つけました):
function getUrlParameter(name, defaultValue) {
name = name.replace(/[\[]/,"\\\[").replace(/[\]]/,"\\\]");
var regexS = "[\\?&]"+name+"=([^&#]*)";
var regex = new RegExp( regexS );
var results = regex.exec( window.location.href );
if( results == null ) return defaultValue;
else return results[1];
}
私はそれをこのように使用します:
pageNumber = parseInt(getUrlParameter('page'), 10);
私が考えることができる単純な純粋なJavaScriptの実装は、次のようになります。
var url = http://www.site.com/objects/search/8765XX/results?page=2&sort_att=posted_dt&sort_dir=desc
var matchedPos = url.search("page=\\d");
var matched = url.substr(matchedPos);
var num = matched.split("=")[1]; //might need to parse