2

href リンクから値を分割する必要があります。

私のhrefリンクは次のとおりです

var val =location.href      // outputs http://localhost:8080/index.html?username=test@gmail.com&joid=68

username値とjoid値を別々に取得したい。

私は次のことを試みましたが、うまくいきませんでした

var emailrogh= val.split("&");

email=emailrogh[0];

var idrough=emailrogh[1].split("=");

var id=idrough[1];

抽出方法test@gmail.com68

4

9 に答える 9

2

この方法を使用できます

var my_link = location.search.substring().split("&");
var email = my_link[0].split("=");
email = email[1];
var id = my_link[1].split("=");
id = id[1];
alert(email);
alert(id);

これがうまくいくことを願っています。

于 2013-09-26T06:34:47.400 に答える
1

この小さくてきれいな機能を試してください:

function getValue(name) {
  var filter = new RegExp( name + "=([^&]+)" );
  return unescape( window.location.match(filter)[1] );
}

var username = getValue("username");
var joid = getValue("joid");

JsFiddleを参照してください

于 2013-09-26T06:27:59.370 に答える
1

この機能を使用する

function getParameterByName(name) 
{
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
        results = regex.exec(location.search);
    return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}

この関数は値を直接返します。

たとえば。あなたのリンクのために

index.html?names=priya@gmail.com&id=68

この関数を次のように使用します

var email = getParameterByName("names");
var id = getParameterByName("id");

値は

email = "priya@gmail.com";
id = "68";
于 2013-09-26T06:28:08.270 に答える
1

「ユーザー名」パラメーターの場合:

url.split("username=")[1].split("&")[0]「test@gmail.com」を返します。

「ジョイド」も同様:

url.split("joid=")[1]「68」を返します。

編集:これを行うためのより信頼できる方法については、この回答を参照してください。

于 2013-09-26T06:21:44.943 に答える
1

最初に href 属性から URl を取得する必要があります。

var wholeString = $("#MyAncId").attr('href');

次に、次のメソッドを使用して Querystring 値を取得します

function getParameterByName(wholeString, name) {
    name = name.replace(/[\[]/, "\\\[").replace(/[\]]/, "\\\]");
    var regex = new RegExp("[\\?&]" + name + "=([^&#]*)"),
        results = regex.exec(wholeString);
    return results == null ? "" : decodeURIComponent(results[1].replace(/\+/g, " "));
}

ソース:デクストオー

于 2013-09-26T06:24:38.830 に答える
1

以下を使用できます:

var url = "http://localhost:8080/index.html?username=test@gmail.com&joid=68"; 
var vars = {}, key;
var querystring = url.slice(url.indexOf('?') + 1).split('&');
for(var i = 0; i < querystring.length; i++){
        key = querystring[i].split('=');
        vars[key[0]] = key[1];
}
console.log( vars);

出力は次のようになります。

Object {username: "test@gmail.com", joid: "68"} 

これがデモです:http://jsfiddle.net/uEqZs/

于 2013-09-26T06:24:59.690 に答える
1
function GetURLParameter(sParam)
{
    var sPageURL = window.location.search.substring(1);
    var sURLVariables = sPageURL.split('&');
    for (var i = 0; i < sURLVariables.length; i++) 
    {
        var sParameterName = sURLVariables[i].split('=');
        if (sParameterName[0] == sParam) 
        {
            return sParameterName[1];
        }
    }
}​

そして、これは、URLが

 "http://samplepage.com/?technology=jquery&blog=jquerybyexample".
于 2013-09-26T06:25:07.040 に答える
1

私はこれが役立つかもしれないと思う

var loc_name = "http://localhost:8080/index.html?username=test@gmail.com&joid=68&test=test";
var get_params = (loc_name.split("?")[1]).split("&");
var contents = [];
for(var i= 0; i < get_params.length ; i++){
    contents[(get_params[i].split("=")[0])] = get_params[i].split("=")[1];
}
console.log(contents['username']);
console.log(contents['joid']);
console.log(contents['test']);

これにより、クエリ文字列が配列に解析されます。コンソールに次の出力があります

test@gmail.com
68 
test
于 2013-09-26T07:12:24.887 に答える
0

試す

var id=val .match(/username=(.*?)(?=(&|$))/)[1]

于 2013-09-26T06:20:52.480 に答える