复制代码 代码如下: var url = "http: 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
复制代码 代码如下:

var url = "http://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值来打印数组对应的值

关键字标签:

上一篇:JavaScript去掉首位空格的正则表达式
下一篇:linux shell 正则表达式(BREs,EREs,PREs)差异比较