代码:
(function () { var url = "http//baidu.com#a=你好&b=world";
var url1 = "http//baidu.com#a=dd&b=world";
var p = /[#&\?]([^=]+)=([^&]+)/g;
var p1=/\w+=\w+/g;
var obj={};
while (true){
var result=p.exec(url);
var result1=p1.exec(url);
if(result){
obj[result[1]]=result[2];
console.log(obj);
}else {
break;
}
}
})();
挺实用的一个小例子。好的,又一块砖放好了O(∩_∩)O
今天看着代码有了新的理解(by 16.08.22)
主要是解释一下p。
var p = /[#&\?]([^=]+)=([^&]+)/g;
首先解释[]这个表达式是可选的意思。
[#&\?]:#表示hash,\?表示search &:是为了再次寻找的时候能找到&b
[^=]+:这个表达式的用处在于切除后边,直白的来说就是 找到=后就停止寻找了,并获取前面所找到的内容。
[^&]+:这个中的&同上,这个巧用了上面的方法,找了中文的内容。因为表达式直接找中文是不可能的,所以用反向思维,用“非”去找就行了。