php抓取网页匹配url(使用jquery获取url以及使用获取参数的操作方法)
优采云 发布时间: 2021-10-19 16:03php抓取网页匹配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