JS取得URLのパラメータ値(QueryString)の4つの方法を共有します。


方法1:正規法
function getQueryString(name) {
    var reg = new RegExp('(^|&)' + name + '=([^&]*)(&|$)', 'i');
    var r = window.location.search.substr(1).match(reg);
    if (r != null) {
        return unescape(r[2]);
    }
    return null;
}
// :
alert(GetQueryString(" 1"));

alert(GetQueryString(" 2"));

alert(GetQueryString(" 3"));

方法2:スプリット分割法
function GetRequest() {
    var url = location.search; // url "?"
    var theRequest = new Object();
    if (url.indexOf("?") != -1) {
        var str = url.substr(1);
        strs = str.split("&");
        for(var i = 0; i < strs.length; i ++) {
            theRequest[strs[i].split("=")[0]] = unescape(strs[i].split("=")[1]);
        }
    }
    return theRequest;
}
var Request = new Object();
Request = GetRequest();
// var 1, 2, 3, N;
// 1 = Request[' 1'];
// 2 = Request[' 2'];
// 3 = Request[' 3'];
// N = Request[' N'];
方法の3:また正則を見てJSを通じてurlパラメーターを得て、これはよく使います。例えばurlのようなものです。http://wwww.jb51.net/?q=jsパラメータqの値を取得したいです。以下の関数で呼び出すことができます。

function GetQueryString(name) { 
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i"); 
    var r = window.location.search.substr(1).match(reg);  // url "?"
    var context = ""; 
    if (r != null) 
         context = r[2]; 
    reg = null; 
    r = null; 
    return context == null || context == "" || context == "undefined" ? "" : context; 
}
alert(GetQueryString("q"));
方法四:単一パラメータの取得方法
function GetRequest(){   var url=locations.search;/urlの「?」を取得します後の文字列   if(url.indexOf)!=-1){    //パラメータがあるかどうかを判断します。      var str=url.substr(1)//最初の文字から0番目は?号は疑問符を除くすべての文字列を取得します。      sts=str.split(=)   //等号で区切られます。(パラメータが一つしかないと知っていますので、直接に等号で区切ります。複数のパラメータがあれば&号で区切って等号で区切ります。)      alert(sts[1]);          //最初のパラメータを直接イジェクトします。複数のパラメータがあればループします。   }}