一个能获取如果hash或search是中文的内容小例子

代码:

 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
[^=]+:这个表达式的用处在于切除后边,直白的来说就是  找到=后就停止寻找了,并获取前面所找到的内容
[^&]+:这个中的&同上,这个巧用了上面的方法,找了中文的内容。因为表达式直接找中文是不可能的,所以用反向思维,用“非”去找就行了。


posted @ 2016-08-16 19:24  晨落梦公子  阅读(189)  评论(0编辑  收藏  举报