js replace正则表达式应用案例讲解

var url = "http://www.xxx.com/index.aspx?classid=9&id=2";
要获取尾巴参数
定义变量

代码如下:

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值来打印数组对应的值 
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 
});

相关推荐