JavaScript 正则表达式解析 URL 参数实战

作者:函数茶馆

时间:2026-10-26

浏览:561

本文通过两个具体案例,演示如何利用 JavaScript 的 replace 方法配合正则表达式提取 URL 中的参数。第一个案例解析查询字符串,第二个案例解析路径结构,详细解释了回调函数中捕获组的参数含义及对象赋值逻辑。

文章目录

解析 URL 查询参数

假设有一个 URL 变量:var url = "http://www.xxx.com/index.aspx?classid=9&id=2";


我们的目标是获取该 URL 尾部的参数部分。


首先定义一个变量来存储结果。


具体实现代码如下:

 
function parse_url(_url){
//定义函数
var pattern = /(\w+)=(\w+)/ig;//定义正则表达式
var parames = {};//定义数组
url.replace(pattern, function(a, b, c){
parames[b] = c;
}); 
/*这是最关键的.当replace匹配到classid=9时.那么就用执行function(a,b,c);其中a的值为:classid=9,b的值为classid,c的值为9;(这是反向引用.因为在定义正则表达式的时候有两个子匹配.) 然后将数组的key为classid的值赋为9;然后完成. 再继续匹配到id=2;此时执行function(a,b,c);其中a的值为:id=2,b的值为id,c的值为2;然后将数组的key为id的值赋为2. */
return parames;//返回这个数组.
} 
var parames = parse_url(url);
alert(parames['classid'] + ", " + parames['id']);//最后打印.根据key值来打印数组对应的值
解析 URL 路径结构var url = "http://attit.ppk365.com/084200001682"
var reg = /http:\/\/(.+)\/(\w+)\/ig;
url.replace(reg, function(a,b,c){
alert(a); //得到 http://attit.ppk365.com/084200001682
alert(b); //得到 attit.ppk365.com
alert(c); //得到 084200001682
}); 

实用工具推荐

电子包浆

绿化、压缩、噪点和虚拟水印,自由调节做旧程度。

使用 ›
图片压缩

选择画质和输出格式,预览压缩前后的大小。

使用 ›
相关文章