瘋狂

          STANDING ON THE SHOULDERS OF GIANTS
          posts - 481, comments - 486, trackbacks - 0, articles - 1
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          js escape,encodeURI,encodeURIComponent

          Posted on 2010-06-01 17:40 瘋狂 閱讀(530) 評論(0)  編輯  收藏 所屬分類: web

          js對文字進行編碼涉及3個函數:escape,encodeURI,encodeURIComponent,相應3個解碼函數:unescape,decodeURI,decodeURIComponent

          1、   傳遞參數時需要使用encodeURIComponent,這樣組合的url才不會被#等特殊字符截斷。                            

          例如:<script language="javascript">document.write('<a href="http://passport.baidu.com/?logout&aid=7& u='+encodeURIComponent("http://cang.baidu.com/bruce42")+'">退出</a& gt;');</script>

          2、   進行url跳轉時可以整體使用encodeURI

          例如:Location.href=encodeURI("http://cang.baidu.com/do/s?word=百度&ct=21");

          3、   js使用數據時可以使用escape

          [Huoho.Com編輯]

          例如:搜藏中history紀錄。

          4、   escape對0-255以外的unicode值進行編碼時輸出%u****格式,其它情況下escape,encodeURI,encodeURIComponent編碼結果相同。


          最多使用的應為encodeURIComponent,它是將中文、韓文等特殊字符轉換成utf-8格式的url編碼,所以如果給后臺傳遞參數需要使用encodeURIComponent時需要后臺解碼對utf-8支持(form中的編碼方式和當前頁面編碼方式相同)

          escape不編碼字符有69個:*,+,-,.,/,@,_,0-9,a-z,A-Z

          encodeURI不編碼字符有82個:!,#,$,&,',(,),*,+,,,-,.,/,:,;,=,?,@,_,~,0-9,a-z,A-Z

          encodeURIComponent不編碼字符有71個:!, ',(,),*,-,.,_,~,0-9,a-z,A-Z

          主站蜘蛛池模板: 玛纳斯县| 栖霞市| 三门县| 电白县| 阳原县| 乐至县| 清苑县| 澎湖县| 丰城市| 乌鲁木齐市| 高清| 彭泽县| 武冈市| 特克斯县| 宁晋县| 广西| 永吉县| 铜陵市| 开化县| 汨罗市| 孟津县| 英德市| 三亚市| 灵川县| 中山市| 东至县| 喀什市| 贵定县| 胶州市| 久治县| 鹤壁市| 尚义县| 泉州市| 军事| 漯河市| 太白县| 逊克县| 岳阳县| 峨山| 绥中县| 漳州市|