沃梦达 / IT编程 / 前端开发 / 正文

js获取url中”?”后面的字串方法

获取URL中?后面的字串,是前端常见的一种需求,本文将介绍几种获取URL参数的方法。

获取URL中"?"后面的字串,是前端常见的一种需求,本文将介绍几种获取URL参数的方法。

方法一

function getQueryString(name) {
  var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
  var r = window.location.search.substr(1).match(reg);
  if (r != null) return decodeURI(r[2]);
  return null;
}

使用正则表达式,分别匹配URL中"?"后面的字串。可通过传入参数名,获取指定参数。

例如:

URL:https://www.example.com?param1=foo&param2=bar

获取参数param1的值:

getQueryString('param1');
// 输出:"foo"

方法二

function getUrlParam(name) {
  var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
  var r = window.location.search.substr(1).match(reg);
  if (r != null) return unescape(r[2]);
  return null;
}

使用正则表达式,匹配URL中"?"后面的字串。可通过传入参数名,获取指定参数。同时对获取到的参数进行了decodeURI()解码。

例如:

URL:https://www.example.com?param1=%E4%B8%AD%E6%96%87&param2=bar

获取参数param1的值:

getUrlParam('param1');
// 输出:"中文"

本文标题为:js获取url中”?”后面的字串方法