php抓取网页匹配url(使用jquery获取url以及使用获取参数的操作方法)

优采云 发布时间: 2021-10-19 16:03

  php抓取网页匹配url(使用jquery获取url以及使用获取参数的操作方法)

  使用jquery获取url和使用jquery获取url参数是我们经常使用的操作。下面,我们以文字描述和代码分析的形式进行分析。详情请见下文。

  1、jquery获取url很简单,代码如下:

  window.location.href;

  其实只用到了javascript的基本window对象,并没有用到jquery的知识。

  2、jquery获取url参数比较复杂,而且用到了正则表达式,所以学习javascript正则表达式很重要。

  首先,我们来看看如何简单地使用javascript获取url中的某个参数:

  //获取url中的参数

  function getUrlParam(name) {

  var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个收录目标参数的正则表达式对象

  var r = window.location.search.substr(1).match(reg); //匹配目标参数

  if (r != null) return unescape(r[2]);返回空; //返回参数值

  }

  通过这个函数传入url中的参数名,可以得到参数的值,比如url是

  我们要获取reurl的值,可以这样写:

  var xx = getUrlParam('reurl');

  了解javascript获取url参数的方法,我们可以用这个方法扩展一个jquery通过jquery获取url参数的方法,下面的代码扩展了一个jquery的getUrlParam()方法

  (函数 ($) {

  $.getUrlParam = 函数(名称){

  var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");

  var r = window.location.search.substr(1).match(reg);

  if (r != null) return unescape(r[2]);返回空值;

  }

  })(jQuery);

  为jquery扩展此方法后,我们可以通过以下方法获取参数的值:

  var xx = $.getUrlParam('reurl');

  完整代码:

  2014-4-23 修改

  今天在使用上述方法获取url中的参数时,url中传入的中文参数无论怎么测试都是乱码。经过一番调试,发现在传参数的时候,对汉字编码使用的是encodeURI,上面的方法在解析参数编码时使用了unescape,修改为decodeURI就够了。

  附件:W3School 介绍:

  JavaScript unescape() 函数

  unescape() 函数可以对escape() 编码的字符串进行解码。

  参数

  说明

  字符串

  必填。要解码或反转的字符串。

  说明

  该函数的工作原理如下:通过查找 %xx 和 %uxxxx(x 表示十六进制数)形式的字符序列,并将该字符序列替换为 Unicode 字符 \u00xx 和 \uxxxx 进行解码。

  提示和注意事项

  注意:ECMAScript v3 已经从标准中删除了 unescape() 函数并反对使用它,所以应该使用 decodeURI() 和 decodeURIComponent() 来代替。

  总结:javascript必须对参数有相同的编码和解码方法:

  escape() unescape()

  encodeURI() decodeURI()

  encodeURIComponent() decodeURIComponent()

  另一种获取在互联网上找到的 URL 中的参数的 javascript 方法:

  jquery 接受 url 参数并给 url 添加参数

  (函数 ($) {

  $.extend({

  请求:函数(m){

  var sValue = location.search.match(new RegExp("[\?\&]" + m + "=([^\&]*)(\&?)", "i"));

  返回sValue? sValue[1]: sValue;

  },

  UrlUpdateParams:函数(网址、名称、值){

  var r = url;

  if (r != null && r !='undefined' && r != "") {

  value = encodeURIComponent(value);

  var reg = new RegExp("(^|)" + name + "=([^&]*)(|$)");

  var tmp = 名称 + "=" + 值;

  if (url.match(reg) != null) {

  r = url.replace(eval(reg), tmp);

  }

  其他{

  if (url.match("[\?]")) {

  r = url + "&" + tmp;

  } 其他{

  r = url + "?" + tmp;

  }

  }

  }

  返回r;

  }

  });

  })(jQuery);

  如何使用

  /IOF.Signup/index_uscn_chs.html?act=1

  1、价值使用

  $.Request("act") = 1

  2、url 加参数

  $.UrlUpdateParams(window.location.href, "mid", 11111),

  结果 window.location.href?mid=11111

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线