js编码之encodeURIComponent使用介绍(asp,php)

2019-12-24,,

因为要新作系统,因此对于JS脚本又重新研究了一下。在对新的URL编码的时候发现,网页编码的格式对于JS的影响很大,在这里书写一点。

{var B=siteUrl+this.actionUrl+(this.type==="all"?"":this.type)+"&SearchWord="+encodeURIComponent(A).replace(/'/g,"%27");$redirect(B)}}

在制作的时候,发现传出去的数据包的编码全部是UTF-8格式的,而在改正网页编码后也同样没有反映,最后在修改了ENCODE成DECODE方式才解决问题。

js 对文字进行编码涉及3个函数:escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent


1、 传递参数时需要使用encodeURIComponent,这样组合的url才不会被#等特殊字符截断。

例如:

2、 进行url跳转时可以整体使用encodeURI

例如:Location.href="/encodeURI"("//www.jb51.net/s?word=百度&ct=21");

3、 js使用数据时可以使用escape

例如:搜藏中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

您可能感兴趣的文章:

  • 从此不再惧怕URI编码 JavaScript及C# URI编码详解
  • js中的eval()函数把含有转义字符的字符串转换成Object对象的方法
  • 快速解决owin返回json字符串多带了双引号"多了重string转义字符串
  • jsp简单自定义标签的forEach遍历及转义字符示例
  • js转义字符介绍
  • 转义字符(\)对JavaScript中JSON.parse的影响概述
  • Javascript 八进制转义字符(8进制)
  • javascript asp教程第二课--转义字符
  • Javascript下的urlencode编码解码方法附decodeURIComponent
  • js 转义字符及URI编码详解

《js编码之encodeURIComponent使用介绍(asp,php).doc》

下载本文的Word格式文档,以方便收藏与打印。