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