9.4 URL库及其函数(1) - 编程吧

上一篇 | 下一篇

9.4 URL库及其函数(1)

发布: 2007-7-20 13:51 | 作者: 佚名 | 来源: 转载 | 查看: 21次


9.4  URL库及其函数
WMLScript的URL库包含一系列与绝对URL地址和相对URL地址操作相关的函数,利用它们可以实现对外部文件、外部函数等外部资源的合法调用。URL库函数主要包括escapeString、getBase、getFragment、getHost、getScheme、getPath、getPort、getQuery、getReferer、getParameters、isValid、loadString、resolve和unescapeString,本节我们就讲解这些库函数的功能和用法。

9.4.1  isValid函数
isValid函数用于判断给定URL地址的格式是否正确。如果URL地址合法,则该函数会返回true,否则返回false。isValid函数可以判断绝对和相对URL地址的格式,判断时相对URL不必转化为绝对URL,而是可以直接判断。isValid函数的语法格式为:

URL.isValid(url)

它的参数url是字符串形式的URL地址,返回值为布尔型的true|false。如果给出的参数内容不符合要求,则isValid函数会返回无效值invalid。

WMLScript中合法的URL地址格式为:

<scheme>://<host>:<port>/<path>;<params>?<query>#<fragment>

凡不符合该格式的URL地址,isValid函数均会判断其为false或invalid。

下面我们给出使用isValid函数判断URL地址的几个例子:

 

var a = URL.isValid("http://w.acmhst.com/script#func( )");                 // a = true

var b = URL.isValid("../common#test( )");                                            // b = true

var c = URL.isValid("experimental?://www.host.com/cont");               // c = false

 

9.4.2  getScheme函数
getScheme函数用于寻找并返回给定URL地址中的Scheme部分。如果给定URL地址中没有Scheme部分,则该函数返回空字符串。如果给定的URL地址无效,则会返回invalid。getScheme函数也支持绝对和相对URL地址,操作时也不会把相对URL地址转化为绝对URL地址,而是可以直接操作。该函数的语法格式如下:

URL.getScheme(url)

它的参数url必须是字符串形式的URL地址。下面是使用getScheme函数的几个例子:

 

var a = URL.getScheme("http://w.h.com/path#frag");                           // a = "http"

var b = URL.getScheme("w.h.com/path#frag");                                     // b = ""

var c = URL.getScheme("http://www.mywap.com/script#func( )");    // c = "http"

 

9.4.3  getHost函数
getHost函数用于获取并返回给定URL地址中的主机名,即Host部分。如果URL地址中没有给出主机名,则该函数返回空字符串。getHost函数也支持绝对和相对URL地址,操作时也不进行相对URL地址向绝对URL地址的转换。getHost函数的语法格式为:

URL.getHost(url)

它的参数url必须为字符串形式的URL地址,返回值为字符串型的主机名。如果getHost函数无法解析给出的URL地址,那么它将返回无效值invalid。

使用getHost函数的例子如下:

 

var a = URL.getHost("http://w.h.com/path#frag");                               // a = "w.h.com"

var b = URL.getHost("path#frag");                                                                 // b = ""

var c = URL.getHost("http://www.mywap.com/script#func( )");        // c = "www.mywap.com"

 

9.4.4  getPort函数
getPort函数用于获取并返回给定URL地址中的通信端口号,即port部分。如果URL地址中没有给出端口号,则该函数返回空字符串。getPort函数也支持绝对和相对的URL地址,操作时无需转换相对URL地址为绝对URL地址。它的语法格式为:

URL.getPort(url)

它的参数url取值应为字符串形式的URL地址,函数返回值为字符串形式的端口号。如果URL地址中的端口号无法被getPort函数所解析,那么该函数就会返回无效值invalid。

getPort函数的使用十分简单,下述几条语句就是用它来获取端口号的例子:

 

var a = URL.getPort("http://w.h.com:80/path#frag");                                                       // a = "80"

var b = URL.getPort("http://www.mywap.com/path#frag");                                  // b = ""

var c = URL.getPort("http://www.mywap.com:8080/script#func(

此新闻共有2页 1 2

字号: | 推荐给好友

 

评分:0

我来说两句

seccode