Comment obtenir la valeur des paramètres GET?

j'ai une URL avec quelques paramètres GET comme suit:

www.test.com/t.html?a=1&b=3&c=m2-m3-m4-m5 

je dois obtenir la valeur entière de c . J'ai essayé de lire L'URL, mais j'ai eu seulement m2 . Comment dois-je procéder avec JavaScript?

970
demandé sur Daniel Serodio 2009-06-11 12:32:49

30 réponses

JavaScript lui-même n'a rien construit pour traiter les paramètres de la chaîne de requête.

dans un navigateur (moderne) vous pouvez utiliser le URL objet ;

var url_string = "http://www.example.com/t.html?a=1&b=3&c=m2-m3-m4-m5"; //window.location.href
var url = new URL(url_string);
var c = url.searchParams.get("c");
console.log(c);

pour les navigateurs plus anciens (y compris Internet Explorer), vous pouvez utiliser ce polyfill ou le code de la version originale de cette réponse qui précède URL :

vous pouvez accéder à location.search , ce qui vous donnera du caractère ? à la fin de L'URL ou au début de l'Identificateur de fragment (#foo), selon la première éventualité.

alors vous pouvez le parser avec ceci:

function parse_query_string(query) {
  var vars = query.split("&");
  var query_string = {};
  for (var i = 0; i < vars.length; i++) {
    var pair = vars[i].split("=");
    var key = decodeURIComponent(pair[0]);
    var value = decodeURIComponent(pair[1]);
    // If first entry with this name
    if (typeof query_string[key] === "undefined") {
      query_string[key] = decodeURIComponent(value);
      // If second entry with this name
    } else if (typeof query_string[key] === "string") {
      var arr = [query_string[key], decodeURIComponent(value)];
      query_string[key] = arr;
      // If third or later entry with this name
    } else {
      query_string[key].push(decodeURIComponent(value));
    }
  }
  return query_string;
}

var query_string = "a=1&b=3&c=m2-m3-m4-m5";
var parsed_qs = parse_query_string(query_string);
console.log(parsed_qs.c);

vous pouvez obtenir la chaîne de requête à partir de L'URL de la page actuelle avec:

var query = window.location.search.substring(1);
var qs = parse_query_string(query);
1316
répondu Quentin 2018-09-11 10:54:20

la plupart des implémentations que j'ai vu manquent URL-décodant les noms et les valeurs.

Voici une fonction d'utilité générale qui fait aussi bon URL-décodage:

function getQueryParams(qs) {
    qs = qs.split('+').join(' ');

    var params = {},
        tokens,
        re = /[?&]?([^=]+)=([^&]*)/g;

    while (tokens = re.exec(qs)) {
        params[decodeURIComponent(tokens[1])] = decodeURIComponent(tokens[2]);
    }

    return params;
}

//var query = getQueryParams(document.location.search);
//alert(query.foo);
229
répondu Ates Goral 2015-06-05 18:13:06

source

function gup( name, url ) {
    if (!url) url = location.href;
    name = name.replace(/[\[]/,"\\[").replace(/[\]]/,"\\]");
    var regexS = "[\?&]"+name+"=([^&#]*)";
    var regex = new RegExp( regexS );
    var results = regex.exec( url );
    return results == null ? null : results[1];
}
gup('q', 'hxxp://example.com/?q=abc')
205
répondu Haim Evgi 2016-09-21 18:24:00

C'est un moyen facile de vérifier qu'un seul paramètre:

exemple D'URL:

    http://myserver/action?myParam=2

Exemple Javascript:

    var myParam = location.search.split('myParam=')[1]

si" myParam " existe dans L'URL... la variable myParam contiendra "2", sinon elle ne sera pas définie.

peut-être que vous voulez une valeur par défaut, dans ce cas:

    var myParam = location.search.split('myParam=')[1] ? location.search.split('myParam=')[1] : 'myDefaultValue';

mise à jour: cela fonctionne mieux:

    var url = "http://www.example.com/index.php?myParam=384&login=admin"; // or window.location.href for current url
    var captured = /myParam=([^&]+)/.exec(url)[1]; // Value is in [1] ('384' in our case)
    var result = captured ? captured : 'myDefaultValue';

et il fonctionne correctement même lorsque L'URL est pleine de paramètres.

172
répondu mzalazar 2018-07-31 16:23:29
Les fournisseurs de navigateurs

ont mis en place une manière native de le faire via URL et URLSearchParams.

let url = new URL('http://www.test.com/t.html?a=1&b=3&c=m2-m3-m4-m5');
let searchParams = new URLSearchParams(url.search);
console.log(searchParams.get('c'));  // outputs "m2-m3-m4-m5"

actuellement pris en charge dans Firefox, Opera, Safari et Chrome. Avec le soutien de bord à venir bientôt .

https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams https://developer.mozilla.org/en-US/docs/Web/API/URL/URL

https://url.spec.whatwg.org /

Eric Bidelman, un ingénieur chez Google, recommande en utilisant ce polyfill pour les navigateurs non pris en charge.

89
répondu cgatian 2017-12-13 19:56:10

vous pouvez obtenir la chaîne de requête dans location.search , puis vous pouvez tout diviser après le point d'interrogation:

var params = {};

if (location.search) {
    var parts = location.search.substring(1).split('&');

    for (var i = 0; i < parts.length; i++) {
        var nv = parts[i].split('=');
        if (!nv[0]) continue;
        params[nv[0]] = nv[1] || true;
    }
}

// Now you can get the parameters you want like so:
var abc = params.abc;
74
répondu Blixt 2014-03-31 12:57:44

j'ai trouvé cela il y a longtemps, très facile:

function getUrlVars() {
    var vars = {};
    var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi,    
    function(m,key,value) {
      vars[key] = value;
    });
    return vars;
  }

alors appelez ça comme ça:

var fType = getUrlVars()["type"];
71
répondu VaMoose 2013-11-20 14:01:25

j'ai écrit une solution plus simple et élégante.

var arr = document.URL.match(/room=([0-9]+)/)
var room = arr[1];
36
répondu nathanengineer 2014-10-14 23:03:55

Voici une solution récursive qui n'a pas de regex, et qui a peu de mutation (seul l'objet params est muté, ce qui est inévitable dans JS).

C'est génial parce que c':

  • Est récursive
  • gère plusieurs paramètres du même nom
  • traite bien les chaînes de paramètres mal formées (valeurs manquantes, etc.)
  • ne casse pas si '=' est dans la valeur
  • effectue le décodage D'URL
  • et enfin, c'est génial parce que c'est...argh!!!

Code:

var get_params = function(search_string) {

  var parse = function(params, pairs) {
    var pair = pairs[0];
    var parts = pair.split('=');
    var key = decodeURIComponent(parts[0]);
    var value = decodeURIComponent(parts.slice(1).join('='));

    // Handle multiple parameters of the same name
    if (typeof params[key] === "undefined") {
      params[key] = value;
    } else {
      params[key] = [].concat(params[key], value);
    }

    return pairs.length == 1 ? params : parse(params, pairs.slice(1))
  }

  // Get rid of leading ?
  return search_string.length == 0 ? {} : parse({}, search_string.substr(1).split('&'));
}

var params = get_params(location.search);

// Finally, to get the param you want
params['c'];
28
répondu Jai 2018-06-07 00:36:27

voir ce

function getURLParameters(paramName)
{
    var sURL = window.document.URL.toString();
    if (sURL.indexOf("?") > 0)
    {
        var arrParams = sURL.split("?");
        var arrURLParams = arrParams[1].split("&");
        var arrParamNames = new Array(arrURLParams.length);
        var arrParamValues = new Array(arrURLParams.length);

        var i = 0;
        for (i = 0; i<arrURLParams.length; i++)
        {
            var sParam =  arrURLParams[i].split("=");
            arrParamNames[i] = sParam[0];
            if (sParam[1] != "")
                arrParamValues[i] = unescape(sParam[1]);
            else
                arrParamValues[i] = "No Value";
        }

        for (i=0; i<arrURLParams.length; i++)
        {
            if (arrParamNames[i] == paramName)
            {
                //alert("Parameter:" + arrParamValues[i]);
                return arrParamValues[i];
            }
        }
        return "No Parameters Found";
    }
}
23
répondu Dhiral Pandya 2015-01-12 20:09:58

ECMAScript 6 solution:

var params = window.location.search
  .substring(1)
  .split("&")
  .map(v => v.split("="))
  .reduce((map, [key, value]) => map.set(key, decodeURIComponent(value)), new Map())
18
répondu veiset 2015-06-23 13:10:43

j'ai fait une fonction qui fait ceci:

var getUrlParams = function (url) {
  var params = {};
  (url + '?').split('?')[1].split('&').forEach(function (pair) {
    pair = (pair + '=').split('=').map(decodeURIComponent);
    if (pair[0].length) {
      params[pair[0]] = pair[1];
    }
  });
  return params;
};

mise à jour 26/05/2017, voici une implémentation ES7 (fonctionne avec babel preset étape 0, 1, 2, ou 3):

const getUrlParams = url => `${url}?`.split('?')[1]
  .split('&').reduce((params, pair) =>
    ((key, val) => key ? {...params, [key]: val} : params)
    (...`${pair}=`.split('=').map(decodeURIComponent)), {});

quelques essais:

console.log(getUrlParams('https://google.com/foo?a=1&b=2&c')); // Will log {a: '1', b: '2', c: ''}
console.log(getUrlParams('/foo?a=1&b=2&c')); // Will log {a: '1', b: '2', c: ''}
console.log(getUrlParams('?a=1&b=2&c')); // Will log {a: '1', b: '2', c: ''}
console.log(getUrlParams('https://google.com/')); // Will log {}
console.log(getUrlParams('a=1&b=2&c')); // Will log {}

mise à Jour 3/26/2018, voici un Tapuscrit de mise en œuvre:

const getUrlParams = (search: string) => `${search}?`
  .split('?')[1]
  .split('&')
  .reduce(
    (params: object, pair: string) => {
      const [key, value] = `${pair}=`
        .split('=')
        .map(decodeURIComponent)

      return key.length > 0 ? { ...params, [key]: value } : params
    },
    {}
  )
14
répondu Nate Ferrero 2018-03-27 02:46:27

Une super façon simple à l'aide de URLSearchParams .

function getParam(param){
  return new URLSearchParams(window.location.search).get(param);
}

il est actuellement pris en charge dans Chrome, Firefox, Safari, Edge, et autres .

14
répondu spencer.sm 2018-09-19 05:48:10

j'utilise la bibliothèque parseUri . Il vous permet de faire exactement ce que vous demandez:

var uri = 'www.test.com/t.html&a=1&b=3&c=m2-m3-m4-m5';
var c = uri.queryKey['c'];
// c = 'm2-m3-m4-m5'
11
répondu Chris Dutrow 2016-07-18 13:13:10

j'utilise

function getVal(str) {
    var v = window.location.search.match(new RegExp('(?:[\?\&]'+str+'=)([^&]+)'));
    return v ? v[1] : null;
}
10
répondu Fancyoung 2016-03-18 05:31:01

voici ma solution. Comme L'a conseillé Andy e en répondant à cette question , ce n'est pas bon pour la performance de votre script s'il construit à plusieurs reprises diverses chaînes regex, boucles d'exécution, etc juste pour obtenir une seule valeur. Donc, j'ai trouvé un script plus simple qui renvoie tous les paramètres GET dans un seul objet. Vous devriez l'appeler juste une fois, assignez le résultat à une variable et puis, à tout moment dans le futur, obtenir n'importe quelle valeur que vous voulez de cette variable en utilisant la clé appropriée. Notez qu'il s'occupe également du décodage URI(I. e comme %20) et remplace + par un espace:

 function getUrlQueryParams(url) {
  var queryString = url.split("?")[1];
  var keyValuePairs = queryString.split("&");
  var keyValue = [];
  var queryParams = {};
  keyValuePairs.forEach(function(pair) {
    keyValue = pair.split("=");
    queryParams[keyValue[0]] = decodeURIComponent(keyValue[1]).replace(/\+/g, " ");
});
  return queryParams;
}

voici donc quelques tests du script que vous pouvez voir:

// Query parameters with strings only, no special characters.
var currentParams = getUrlQueryParams("example.com/foo?number=zero");
alert(currentParams["number"]); // Gives "zero".

// For the URL you stated above...
var someParams = getUrlQueryParams("www.test.com/t.html?a=1&b=3&c=m2-m3-m4-m5 ");
alert(someParams["c"]); // Gives "m2-m3-m4-m5".

// For a query params with URI encoding...
var someParams = getUrlQueryParams("www.example.com/t.html?phrase=a%20long%20shot&location=Silicon+Valley%2C+USA");
alert(someParams["phrase"]); // Gives "a long shot".
alert(someParams["location"]); // Gives "Silicon Valley, USA".
9
répondu Maviza101 2017-12-12 20:33:07

pour valeur à paramètre unique comme cet indice.le html?msg=1 utiliser le code suivant,

$(window).load(function(){
    queryString();
});

function queryString()
{
    var queryString = window.location.search.substring(1);
    var varArray = queryString.split("="); //eg. index.html?msg=1

    var param1 = varArray[0];
    var param2 = varArray[1];

}

Pour Tous les paramètres Valeur utilisez le Code suivant,

$(window).load(function(){
    queryString();
});

function queryString()
{
    var queryString = window.location.search;
    var varArray = queryString.split("&");
    for (var i=0;i<varArray.length;i++) {
      var param = varArray[i].split("=");
        //parameter-value pair
    }
} 
8
répondu Ravi Patel 2015-03-03 06:55:36

cette question a trop de réponses, donc j'en ajoute une autre.

/**
 * parses and returns URI query parameters 
 * 
 * @param {string} param parm
 * @param {bool?} asArray if true, returns an array instead of a scalar 
 * @returns {Object|Array} 
 */
function getURIParameter(param, asArray) {
    return document.location.search.substring(1).split('&').reduce(function(p,c) {
        var parts = c.split('=', 2).map(function(param) { return decodeURIComponent(param); });
        if(parts.length == 0 || parts[0] != param) return (p instanceof Array) && !asArray ? null : p;
        return asArray ? p.concat(parts.concat(true)[1]) : parts.concat(true)[1];
    }, []);
}

utilisation:

getURIParameter("id")  // returns the last id or null if not present
getURIParameter("id", true) // returns an array of all ids

ce cope avec des paramètres vides (ces clés présentes sans "=value" ), l'exposition d'une API de récupération de valeur scalaire et basée sur des tableaux, ainsi que le décodage approprié de composants URI.

7
répondu Tyson 2014-04-28 04:31:49

Ou si vous ne voulez pas de réinventer l'URI d'analyse utilisation de roues URI.js

Pour obtenir la valeur d'un paramètre nommé foo:

new URI((''+document.location)).search(true).foo

Ce qui n'est

  1. Convertir le document.emplacement pour une chaîne de caractères (c'est un objet)
  2. donnez cette chaîne à URI.js de la classe URI construtor
  3. Invoquer la recherche() pour obtenir la recherche (requête) partie de l'url

    (passer true lui dit de sortir un objet)
  4. accéder à la propriété foo sur l'objet résultant pour obtenir la valeur

voici un violon pour ça.... http://jsfiddle.net/m6tett01/12 /

7
répondu Gus 2014-10-16 17:31:23

ici je poste un exemple. Mais c'est à jQuery. Espérons qu'il aidera les autres:

<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="jquery.url.js"></script>

<!-- URL:  www.example.com/correct/?message=done&year=1990-->

<script type="text/javascript">
$(function(){
    $.url.attr('protocol')  // --> Protocol: "http"
    $.url.attr('path')          // --> host: "www.example.com"
    $.url.attr('query')         // --> path: "/correct/"
    $.url.attr('message')   // --> query: "done"
    $.url.attr('year')      // --> query: "1990"
});
</script>
7
répondu Sariban D'Cl 2015-03-25 10:50:26
// Read a page's GET URL variables and return them as an associative array.
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;
}

// Usage for URL: http://my.site.com/location?locationId=53cc272c0364aefcb78756cd&shared=false
var id = getUrlVars()["locationId"];

Obtenu à partir d'ici: http://jquery-howto.blogspot.ru/2009/09/get-url-parameters-values-with-jquery.html

6
répondu thezar 2014-07-27 23:15:45

façon Simple

function getParams(url){
        var regex = /[?&]([^=#]+)=([^&#]*)/g,
            params = {},
            match;
        while(match = regex.exec(url)) {
            params[match[1]] = match[2];
        }
        return params;
    }

alors appelez - le comme getParams(url)

6
répondu Sudhakar Reddy 2015-09-02 13:44:32
// http:localhost:8080/path?param_1=a&param_2=b
var getParamsMap = function () {
    var params = window.location.search.split("&");
    var paramsMap = {};
    params.forEach(function (p) {
        var v = p.split("=");
        paramsMap[v[0]]=decodeURIComponent(v[1]);
    });
    return paramsMap;
};

// -----------------------

console.log(getParamsMap()["param_1"]);  // should log "a"     
5
répondu Wolf7176 2016-12-28 11:10:09

encore une autre suggestion.

il y a déjà quelques bonnes réponses, mais je les ai trouvées inutilement complexes et difficiles à comprendre. C'est court, simple, et renvoie un tableau associatif simple avec des noms clés correspondant aux noms de tokens dans L'URL.

j'ai ajouté une version avec les commentaires ci-dessous pour ceux qui veulent apprendre.

cette Remarque s'appuie sur jQuery ($.chaque) pour sa boucle, que je recommande au lieu de forEach. Je trouvez plus simple d'assurer la compatibilité entre les navigateurs en utilisant jQuery dans tous les sens plutôt que de brancher des correctifs individuels pour prendre en charge les nouvelles fonctions qui ne sont pas prises en charge dans les navigateurs plus anciens.

Edit: après que j'ai écrit ceci j'ai remarqué la réponse D'Eric Elliott, qui est presque la même, bien qu'elle utilise forEach, alors que je suis généralement contre (pour les raisons indiquées ci-dessus).

function getTokens(){
    var tokens = [];
    var query = location.search;
    query = query.slice(1);
    query = query.split('&');
    $.each(query, function(i,value){    
        var token = value.split('=');   
        var key = decodeURIComponent(token[0]);     
        var data = decodeURIComponent(token[1]);
        tokens[key] = data;
    });
    return tokens;
}

version commentée:

function getTokens(){
    var tokens = [];            // new array to hold result
    var query = location.search; // everything from the '?' onward 
    query = query.slice(1);     // remove the first character, which will be the '?' 
    query = query.split('&');   // split via each '&', leaving us an array of something=something strings

    // iterate through each something=something string
    $.each(query, function(i,value){    

        // split the something=something string via '=', creating an array containing the token name and data
        var token = value.split('=');   

        // assign the first array element (the token name) to the 'key' variable
        var key = decodeURIComponent(token[0]);     

        // assign the second array element (the token data) to the 'data' variable
        var data = decodeURIComponent(token[1]);

        tokens[key] = data;     // add an associative key/data pair to our result array, with key names being the URI token names
    });

    return tokens;  // return the array
}

pour le exemples ci-dessous nous supposerons cette adresse:

http://www.example.com/page.htm?id=4&name=murray

vous pouvez affecter les jetons URL à votre propre variable:

var tokens = getTokens();

se référer ensuite à chaque token URL par son nom comme ceci:

document.write( tokens['id'] );

"4".

vous pouvez aussi simplement vous référer à un nom de token de la fonction directement:

document.write( getTokens()['name'] );

...qui imprime "murray".

4
répondu equazcion 2014-04-29 20:40:52

, Voici le angularJs code source pour l'analyse des paramètres de requête url en Objet :

function tryDecodeURIComponent(value) {
  try {
    return decodeURIComponent(value);
  } catch (e) {
    // Ignore any invalid uri component
  }
}

function isDefined(value) {return typeof value !== 'undefined';}

function parseKeyValue(keyValue) {
  keyValue = keyValue.replace(/^\?/, '');
  var obj = {}, key_value, key;
  var iter = (keyValue || "").split('&');
  for (var i=0; i<iter.length; i++) {
    var kValue = iter[i];
    if (kValue) {
      key_value = kValue.replace(/\+/g,'%20').split('=');
      key = tryDecodeURIComponent(key_value[0]);
      if (isDefined(key)) {
        var val = isDefined(key_value[1]) ? tryDecodeURIComponent(key_value[1]) : true;
        if (!hasOwnProperty.call(obj, key)) {
          obj[key] = val;
        } else if (isArray(obj[key])) {
          obj[key].push(val);
        } else {
          obj[key] = [obj[key],val];
        }
      }
    }
  };
  return obj;
}

alert(JSON.stringify(parseKeyValue('?a=1&b=3&c=m2-m3-m4-m5')));

vous pouvez ajouter cette fonction à window.location :

window.location.query = function query(arg){
  q = parseKeyValue(this.search);
  if (!isDefined(arg)) {
    return q;
  }      
  if (q.hasOwnProperty(arg)) {
    return q[arg];
  } else {
    return "";
  }
}

// assuming you have this url :
// http://www.test.com/t.html?a=1&b=3&c=m2-m3-m4-m5

console.log(window.location.query())

// Object {a: "1", b: "3", c: "m2-m3-m4-m5"}

console.log(window.location.query('c'))

// "m2-m3-m4-m5"
4
répondu Charlesthk 2015-05-19 15:14:18

j'ai eu le besoin de lire une variable GET URL et de compléter une action basée sur le paramètre url. J'ai cherché partout une solution et j'ai trouvé ce petit morceau de code. Il lit essentiellement l'url de la page courante, exécute une certaine expression régulière sur L'URL puis sauve les paramètres d'url dans un tableau associatif, que nous pouvons facilement accéder.

comme exemple si nous avions l'url suivante avec le javascript en bas en place.

http://TestServer/Pages/NewsArchive.aspx?year=2013&Month=July

Tout ce que nous avons besoin de faire pour obtenir les paramètres id et page sont d'appeler cela:

le Code sera:

<script type="text/javascript">
var first = getUrlVars()["year"];
var second = getUrlVars()["Month"];

alert(first);
alert(second);
function getUrlVars() {
var vars = {};
var parts = window.location.href.replace(/[?&]+([^=&]+)=([^&]*)/gi, function(m,key,value) {
vars[key] = value;
});
return vars;
}
</script>
4
répondu Waseem Khan 2015-06-28 08:01:20

voici ce que je fais:

var uriParams = getSearchParameters();
alert(uriParams.c);


// background functions:

// Get object/associative array of URL parameters
function getSearchParameters () {
  var prmstr = window.location.search.substr(1);
  return prmstr !== null && prmstr !== "" ? transformToAssocArray(prmstr) : {};
}

// convert parameters from url-style string to associative array
function transformToAssocArray (prmstr) {
  var params = {},
      prmarr = prmstr.split("&");

  for (var i = 0; i < prmarr.length; i++) {
    var tmparr = prmarr[i].split("=");
    params[tmparr[0]] = tmparr[1];
  }
  return params;
}
3
répondu Bobb Fwed 2014-06-18 18:03:44
window.location.href.split("?")

puis ignorer le premier indice

Array.prototype.slice.call(window.location.href.split("?"), 1) 

renvoie un tableau de vos paramètres d'url

var paramArray = Array.prototype.slice.call(window.location.href.split(/[?=]+/), 1);
var paramObject = paramArray.reduce(function(x, y, i, a){ (i%2==0) ?  (x[y] = a[i+1]) : void 0; return x; }, {});

un peu plus verbeux / hacky mais aussi fonctionnel, paramObject contient tous les paramètres mappés comme un objet js

3
répondu thoggy 2014-12-14 01:43:11
function getParamValue(param) {
    var urlParamString = location.search.split(param + "=");
    if (urlParamString.length <= 1) return "";
    else {
        var tmp = urlParamString[1].split("&");
        return tmp[0];
    }
}

cela devrait fonctionner pour votre cas, peu importe que le param soit dernier ou pas.

3
répondu Qiang 2015-11-19 18:08:58

nous pouvons obtenir les valeurs des paramètres c d'une manière plus simple sans boucler tous les paramètres, voir ci-dessous jQuery pour obtenir les paramètres.

1. Pour obtenir la valeur du paramètre:

var url = "www.test.com/t.html?a=1&b=3&c=m2-m3-m4-m5";

url.match(**/(c=)[0-9A-Za-z-]+/ig**)[0].replace('c=',"")

(ou)

url.match(**/(c=)[0-z-]+/ig**)[0].replace('c=',"")

retourne sous forme de chaîne de caractères

"m2-m3-m4-m5 "

2. Pour Remplacer la valeur du paramètre:

var url = "www.test.com/t.html?a=1&b=3&c=m2-m3-m4-m5";

url.replace(**/(c=)[0-9A-Za-z-]+/ig, "c=m2345"**)
3
répondu Syed Shahjahan 2016-10-01 16:14:44