Maison > interface Web > tutoriel HTML > le corps du texte

Exemple de tutoriel sur l'obtention du nom du paramètre dans l'URL à l'aide de js

零下一度
Libérer: 2017-06-24 13:49:30
original
1216 Les gens l'ont consulté
Il est rare d'utiliser js pour obtenir les noms et valeurs des paramètres​​dans l'URL, mais je dois le faire aujourd'hui. Laissez-moi vous présenter l'exemple de méthode spécifique.


Lorsque le nom du paramètre est connu, obtenir la valeur du paramètre peut être facilement effectué à l'aide d'expressions régulières.


La méthode d'implémentation de js est la suivante :

Le code est le suivant
 代码如下

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('(?| &)' + nom + '=([^&?]*)', '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;

}

ou
 代码如下

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;
}

Méthode 1 : Analyse régulière

Le code est le suivant
 代码如下

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; }Appelez comme ceci : alert(GetQueryString("Parameter name 1"));alert (GetQueryString("Nom du paramètre 2") );alert(GetQueryString("Nom du paramètre 3"));
Si vous souhaitez obtenir tous les noms de paramètres et leurs valeurs correspondantes, vous pouvez également utiliser des expressions régulières, méthode d'implémentation js :
Le code est le suivant
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;}
Notez qu'il existe une autre méthode utilisée pour la correspondance dans js appelé match. Match est une méthode de chaîne et exec est une méthode d'objet RegExp. Si vous utilisez la méthode match d'une chaîne et spécifiez l'expression régulière comme correspondance globale, alors le regroupement dans l'expression régulière sera inutile et le résultat renvoyé sera toutes les sous-chaînes qui correspondent à l'expression régulière. Lorsque la méthode exec n'utilise pas l'indicateur de correspondance globale, l'heure renvoyée est le premier sous-caractère correspondant. Si l'indicateur de correspondance globale est utilisé, la chaîne qui correspond au symbole est exécutée depuis le début pour la première fois. commencera à partir du dernier résultat correspondant. Ce qui suit fournit la méthode d'implémentation de PHP : Le code est le suivant tr>
function getKeyValue($url) { $result = array(); $mr = preg_match_all ('/(? |&)(.+?)=([^&?]*)/i', $url, $matchs); if ($mr !== FALSE) { pour ($ i = 0; $i < $mr; $i++) { $result[$matchs[2][$i]] = $matchs[3][$i]; > } return $result;}
la méthode preg_match_all de php stocke les résultats correspondants dans le troisième spécifié Le paramètre est un tableau à deux dimensions. La première dimension est un tableau d'informations de regroupement, c'est-à-dire que le premier tableau stocke toutes les chaînes complètes correspondantes, le deuxième tableau stocke la valeur correspondant au premier () et la deuxième dimension est la valeur de regroupement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!