一个Javascript版本的URI/URL的解析器,可以解析出URI/URL的scheme, query string, fragment, authority, user-info, path, host和port部分。例如:
http://user:password@example.com:8080/path/subpath?query=string&myspace=x%20%x#fabc
中http是scheme部分,user:password是userInfo部分,example.com是host部分,8080是port端口,/path/subpath是path部分,query=string&myspace=x%20%x是query string部分,fabc是fragment部分。
可以这样获取各URL的部分:
也可以用getParameter和getParameterValues来获取Query String(如name=value&abc=efg¶m=value%20bbb)中URL decode后的参数(像Java中HttpRequest里的方法),如:
另外,还包含一个直接解析QueryString的解析器:var q = new QueryStringParser("a=b&c=d%20d&e=f"); q.getParameter("c"); 获取值"c d".
以下是含URI/URL及查询串(querystring)解析器的Javascript代码:
可以用以下代码测试一下: