获取网址中指定值的功能是前端开发中常用的功能之一。可以利用正则表达式(RegExp)对URL字符串进行解析得到所需的参数。下面是完整的攻略:
1. 获取网址中指定值的正则函数
首先定义一个名为getQueryString
的函数,传入两个参数:网址URL和要查询的参数名称。
function getQueryString(url, name) {}
在函数内部,使用正则表达式解析URL字符串,获取目标参数。以下是正则表达式的字符串值:
var reg = new RegExp("[\\?&]" + name + "=([^&#]*)", "i");
接下来,使用exec()
方法执行正则表达式并返回匹配的结果。如果匹配到结果,则返回结果数组中第二个元素;如果没有匹配到,则返回空字符串。
var result = reg.exec(url);
if (result && result[1]) {
return decodeURIComponent(result[1]);
} else {
return "";
}
最终,getQueryString
函数的完整代码如下:
function getQueryString(url, name) {
var reg = new RegExp("[\\?&]" + name + "=([^&#]*)", "i");
var result = reg.exec(url);
if (result && result[1]) {
return decodeURIComponent(result[1]);
} else {
return "";
}
}
2. 示例说明
假设现在需要从如下这个URL中获取参数id
的值:
http://www.example.com/test.html?id=123&name=Tom
则可以使用getQueryString
函数获取该值:
var url = "http://www.example.com/test.html?id=123&name=Tom";
var id = getQueryString(url, "id");
console.log(id); // 123
再假设现在需要从如下这个URL中获取参数keyword
的值:
http://www.example.com/search.html?keyword=JavaScript&page=1
同样可以使用getQueryString
函数获取该值:
var url = "http://www.example.com/search.html?keyword=JavaScript&page=1";
var keyword = getQueryString(url, "keyword");
console.log(keyword); // JavaScript
通过这两个示例,可以看到getQueryString
函数的用法及其实现原理。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:JS获取网址中指定值的正则函数 - Python技术站