/***********************************************************
 UrlBuilder Class created by JavaScript

 Author: lizhi[at]hit.edu.cn
 Version: 1.0
 Created: 2006.02.21 22:05
 Updated: N/A

 History:
     1. The first version of code created in 2006.02.21 
***********************************************************/

Code: UrlBuilder class in JavaScriptfunction UrlBuilder(url)
}


Test Case:
>

Result:
Code: UrlBuilder class in JavaScriptm_Href    =    http://birdshome.cnblogs.com:8080/index.aspx?hl=zh-CN&newwindow=1&q=#abc
Code: UrlBuilder class in JavaScriptm_Host    =    birdshome.cnblogs.com:8080
Code: UrlBuilder class in JavaScriptm_Hostname =    birdshome.cnblogs.com
Code: UrlBuilder class in JavaScriptm_Port    =    8080
Code: UrlBuilder class in JavaScriptm_Protocol =    http:
Code: UrlBuilder class in JavaScriptm_Path    =    ?hl=zh-CN
&newwindow=1&q=#abc
Code: UrlBuilder class in JavaScriptm_Search =    ?hl=zh-CN
&newwindow=1&q=
Code: UrlBuilder class in JavaScriptm_Hash    =    #abc
Code: UrlBuilder class in JavaScript
Code: UrlBuilder class in JavaScripthl = zh-CN
Code: UrlBuilder class in JavaScriptnewwindow = 1
Code: UrlBuilder class in JavaScriptq =

Shortage:
    正则表达式:/(\w{3,5}:)\/\/([^\.]+(?:\.[^\.:/]+)+)(?::(\d{1,5}))?\/?/ 不能处理带有用户名和密码的url,同时也不能处理Int32格式的IP地址(如: http://3396788377/),本来支持也容易,但是这两种url的使用频率实在太少了。

相关文章: