js 處理URL實用技巧
更新時間:2010年11月23日 21:19:11 作者:
escape()、encodeURI()、encodeURIComponent()三種方法都能對一些影響URL完整性的特殊字符進行過濾。
但后兩者是將字符串轉(zhuǎn)換為UTF-8的方式來傳輸,解決了頁面編碼不一至導致的亂碼問題。
例如:發(fā)送頁與接受頁的編碼格式(Charset)不一致(假設發(fā)送頁面是GB2312而接收頁面編碼是UTF-8),使用escape()轉(zhuǎn)換傳輸中文字串就會出現(xiàn)亂碼問題。
以下是JS下對URL進行編/解碼的各種方法:
escape方法:就對@*+/ A-Z 0-9 a-z這些字符不編碼,其它非ASCII字符都會編碼以%XX編碼替換,解碼使用unescape,escape 方法不能用來對“統(tǒng)一資源標識符”(URI) 進行編碼。對其編碼應使用 encodeURI 和encodeURIComponent 方法。encodeURI():對! @ # $ & * ( ) = : / ; ? + ' A-Z 0-9 a-z,其它的字符都會被編碼,解碼使用decodeURI();
如果想使更多的字會被編碼,例:/..,請使用encodeURIComponent()方法,被此方法編碼后,參數(shù)傳遞給服務器就是一種無效的字符,解碼使用decodeURIComponent()
例如:發(fā)送頁與接受頁的編碼格式(Charset)不一致(假設發(fā)送頁面是GB2312而接收頁面編碼是UTF-8),使用escape()轉(zhuǎn)換傳輸中文字串就會出現(xiàn)亂碼問題。
以下是JS下對URL進行編/解碼的各種方法:
escape方法:就對@*+/ A-Z 0-9 a-z這些字符不編碼,其它非ASCII字符都會編碼以%XX編碼替換,解碼使用unescape,escape 方法不能用來對“統(tǒng)一資源標識符”(URI) 進行編碼。對其編碼應使用 encodeURI 和encodeURIComponent 方法。encodeURI():對! @ # $ & * ( ) = : / ; ? + ' A-Z 0-9 a-z,其它的字符都會被編碼,解碼使用decodeURI();
如果想使更多的字會被編碼,例:/..,請使用encodeURIComponent()方法,被此方法編碼后,參數(shù)傳遞給服務器就是一種無效的字符,解碼使用decodeURIComponent()
相關文章
淺談Javascript中的函數(shù)、this以及原型
下面小編就為大家?guī)硪黄獪\談Javascript中的函數(shù)、this以及原型。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-10-10