一服鹅、encodeURI() 函數(shù)
在本例中凳兵,我們將使用 encodeURI() 對(duì) URI 進(jìn)行編碼:
<script type="text/javascript">
document.write(encodeURI("http://www.w3school.com.cn")+ "<br />")
document.write(encodeURI("http://www.w3school.com.cn/My first/"))
document.write(encodeURI(",/?:@&=+$#"))
</script>
輸出:
http://www.w3school.com.cn
http://www.w3school.com.cn/My%20first/
,/?:@&=+$#
二、encodeURIComponent() 函數(shù)
在本例中企软,我們將使用 encodeURIComponent() 對(duì) URI 進(jìn)行編碼:
<script type="text/javascript">
document.write(encodeURIComponent("http://www.w3school.com.cn"))
document.write("<br />")
document.write(encodeURIComponent("http://www.w3school.com.cn/p 1/"))
document.write("<br />")
document.write(encodeURIComponent(",/?:@&=+$#"))
</script>
輸出:
http%3A%2F%2Fwww.w3school.com.cn
http%3A%2F%2Fwww.w3school.com.cn%2Fp%201%2F
%2C%2F%3F%3A%40%26%3D%2B%24%23
三庐扫、escape() 函數(shù)
在本例中,我們將使用 escape() 來編碼字符串:
<script type="text/javascript">
document.write(escape("Visit W3School!") + "<br />")
document.write(escape("?!=()#%&"))
</script>
輸出:
Visit%20W3School%21
%3F%21%3D%28%29%23%25%26
四、總結(jié)
通過對(duì)三個(gè)函數(shù)的分析形庭,我們可以知道:escape()除了 ASCII 字母铅辞、數(shù)字和特定的符號(hào)外,對(duì)傳進(jìn)來的字符串全部進(jìn)行轉(zhuǎn)義編碼萨醒,因此如果想對(duì)URL編碼斟珊,最好不要使用此方法。而encodeURI() 用于編碼整個(gè)URI,因?yàn)閁RI中的合法字符都不會(huì)被編碼轉(zhuǎn)換验靡。encodeURIComponent方法在編碼單個(gè)URIComponent(指請(qǐng)求參 數(shù))應(yīng)當(dāng)是最常用的倍宾,它可以講參數(shù)中的中文、特殊字符進(jìn)行轉(zhuǎn)義胜嗓,而不會(huì)影響整個(gè)URL高职。