[Javascript Practice] Url解析成Json格式

来源:互联网 发布:linux 时区设置 编辑:程序博客网 时间:2024/06/05 09:59

(1) split分解

obj[variable[i].split(“=”)[0]]=variable[i].split(“=”)[1];

<script type="text/javascript">   function urljson(url){     var variable=url.split("?")[1].split("&");    //["name=krystal", "id=88", "age=18", "school=hkbu"]     var obj={};     for (var i = 0; i < variable.length; i++) {       obj[variable[i].split("=")[0]]=variable[i].split("=")[1];     }     return obj;   }   var url="http://www.jessica.php?name=krystal&id=88&age=18&school=hkbu";   console.log(urljson(url));</script>

Result:
Result

(2) 正则

var pattern=/\??(\w+)=(\w+)\&?/g;
一定要使用globle /g 如果不使用的话, 会只匹配第一个找到得, 后面的都不管了
replace()

<script type="text/javascript">   function urljson(url){     /*****/     var pattern=/\??(\w+)=(\w+)\&?/g;     /*****/     var obj={};     /*       $0: match整个字符串       $1: match第一个括号内容       $2: march第二个括号内容......    */     url.replace(pattern,function($0,$1,$2){        return obj[$1]=$2;     });     return obj;   }   var url="http://www.jessica.php?name=krystal&id=88&age=18&school=hkbu";   console.log(urljson(url));</script>

Result:
这里写图片描述

Test $

     url.replace(pattern,function($0,$1,$2){     // test        console.log($0);        console.log($1);        console.log($2);     });

Result:
Result

0 0