如何改写JS正则解析URL参数的示例代码为长尾?
- 内容介绍
- 文章标签
- 相关推荐
本文共计257个文字,预计阅读时间需要2分钟。
复写代码如下:javascriptvar url=http://127.0.0.1/e/action/ShowInfo.php?classid=9id=2;// 定义函数function parse_url(_url) { // 定义正则表达式 var pattern=/(\w+)=([^&]+)/ig; // 定义数组 var parames={}; // 匹配并填充数组 _url.replace(pattern, function(match, key, value) { parames[key]=value; }); return parames;}
复制代码 代码如下:var url = "127.0.0.1/e/action/ShowInfo.php?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值来打印数组对应的值
本文共计257个文字,预计阅读时间需要2分钟。
复写代码如下:javascriptvar url=http://127.0.0.1/e/action/ShowInfo.php?classid=9id=2;// 定义函数function parse_url(_url) { // 定义正则表达式 var pattern=/(\w+)=([^&]+)/ig; // 定义数组 var parames={}; // 匹配并填充数组 _url.replace(pattern, function(match, key, value) { parames[key]=value; }); return parames;}
复制代码 代码如下:var url = "127.0.0.1/e/action/ShowInfo.php?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值来打印数组对应的值

