日期:2014-05-17  浏览次数:20728 次

一个过滤的js的正则表达式
parseObj: function (hash) {
var rhash = /[#&]([^&=]+)=([^&=]+)/ig,
a = rhash.exec(hash),
o = {};

while (a) {
o[a[1]] = a[2];alert(a[2]);
a = rhash.exec(hash);

}

return o;
}

这个正则表达式匹配"index.aspx#p=1"能取得1,
如果当"index.aspx?s=3&y=9#p=1" 查询字符串含有&的时候就取不到锚点p的值了。
谁能改动下这个正则表达式匹配如下url,取得p的值1?
 比如:index.aspx?lanmuid=62&sublanmuid=625&id=510#p=1

------解决方案--------------------



 var rhash = /[#&]([^&=]+)=([^&=]+)/ig,

---->

 var rhash = /[#&]([^&=]+)=([^&#=]+)/ig,