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

时间:2023-03-10 05:29:04
一个能获取如果hash或search是中文的内容小例子

代码:

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