Heim  >  Artikel  >  Web-Frontend  >  Beispiel-Tutorial zum Abrufen des Parameternamens in der URL mithilfe von js

Beispiel-Tutorial zum Abrufen des Parameternamens in der URL mithilfe von js

零下一度
零下一度Original
2017-06-24 13:49:301176Durchsuche
Es kommt selten vor, dass js zum Abrufen der Parameternamen und -werte in der URL verwendet wird, aber ich muss dies heute tun, um Ihnen die spezifische Beispielmethode vorzustellen.


Wenn der Parametername bekannt ist, kann der Parameterwert einfach mithilfe regulärer Ausdrücke ermittelt werden.


Die Implementierungsmethode von js lautet wie folgt:

Der Code lautet wie folgt
 代码如下

function getValue(url, name) {
 var reg = new RegExp('(?|&)' + name + '=([^&?]*)', 'i');
 var arr = url.match(reg);

 if (arr) {
  return arr[2];
 }

 return null;
}

function getValue(url, name) {

var reg = new RegExp('(?| &)' + name + '=([^&?]*)', 'i');

var arr = url.match(reg);

if (arr) {

return arr[2];
 代码如下

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"));

}

return null;

}

oder
 代码如下

function getKeyValue(url) {
 var result = {};
 var reg = new RegExp('([?|&])(.+?)=([^&?]*)', 'ig');
 var arr = reg.exec(url);

 while (arr) {
  result[arr[2]] = arr[3];

  arr = reg.exec(url);
 }

 return result;
}

Methode 1: Regelmäßige Analyse

Der Code lautet wie folgt
 代码如下

function getKeyValue($url) {
 $result = array();
 $mr = preg_match_all('/(?|&)(.+?)=([^&?]*)/i', $url, $matchs);

 if ($mr !== FALSE) {
  for ($i = 0; $i < $mr; $i++) {
   $result[$matchs[2][$i]] = $matchs[3][$i];
  }
 }

 return $result;
}

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; (GetQueryString("Parameter name 2") );alert(GetQueryString("Parameter name 3"));
Wenn Sie Wenn Sie alle Parameternamen und ihre entsprechenden Werte erhalten möchten, können Sie auch die reguläre Ausdrucksmethode js-Implementierungsmethode verwenden:
Der Code lautet wie folgt
function getKeyValue(url) { var result = {}; var reg = new RegExp('([?|&])(.+?)=([^&?]*)', 'ig'); var arr = reg.exec(url); while (arr) { result[arr[2]] = arr[3]; arr = reg.exec(url ); } Ergebnis zurückgeben;}
Beachten Sie, dass für den Abgleich eine andere Methode verwendet wird in js heißt match. Und exec ist eine Methode des RegExp-Objekts. Wenn Sie die Match-Methode einer Zeichenfolge verwenden und den regulären Ausdruck als globale Übereinstimmung angeben, ist die Gruppierung im regulären Ausdruck nutzlos und das zurückgegebene Ergebnis besteht aus allen Teilzeichenfolgen, die mit dem regulären Ausdruck übereinstimmen. Wenn die exec-Methode das globale Match-Flag nicht verwendet, ist die zurückgegebene Zeit das erste übereinstimmende Unterzeichen. Wenn das globale Match-Flag verwendet wird, wird die Zeichenfolge, die mit dem Symbol übereinstimmt, zum ersten Mal von Anfang an ausgeführt beginnt mit dem letzten übereinstimmenden Ergebnis. Das Folgende stellt die Implementierungsmethode von PHP bereit: Der Code lautet wie folgt tr>
function getKeyValue($url) { $result = array(); $mr = preg_match_all ('/(? |&)(.+?)=([^&?]*)/i', $url, $matches); if ($mr !== FALSE) { für ($ i = 0; $i < $mr; $i++) { $result[$matchs[2][$i]] = $matchs[3][$i]; } } return $result;}
Die preg_match_all-Methode von PHP speichert die passenden Ergebnisse im Der dritte angegebene Parameter ist ein zweidimensionales Array. Die erste Dimension ist ein Array von Gruppierungsinformationen, das heißt, das erste Array speichert alle übereinstimmenden vollständigen Zeichenfolgen, das zweite Array speichert den Wert, der der ersten () entspricht, und die zweite Dimension ist der Gruppierungswert.

Das obige ist der detaillierte Inhalt vonBeispiel-Tutorial zum Abrufen des Parameternamens in der URL mithilfe von js. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn