转:http://www.cnblogs.com/qiantuwuliang/archive/2009/07/19/1526687.html

//该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。

//其他字符(比如 :;/?:@&=+$,#

var tDT_Start =$("#DT_Start").val().replace(/:/g,'|'); //将:替代为|,传到后台再转换回来

var tDT_End =$("#DT_End").val().replace(/:/g,'|');

解析:字符串要匹配正则/:/g,将符合条件的替换为|

C#后台

tDT_Start= tDT_Start.Replace("|", ":");

javaScript中有三个可以对字符串编码的函数,分别是: escape,encodeURI,encodeURIComponent,相应3个解码函数:unescape,decodeURI,decodeURIComponent 。

下面简单介绍一下它们的区别

1 escape()函数

定义和用法

escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。

语法

escape(string)

参数  描述

string  必需。要被转义或编码的字符串。

返回值

已编码的 string 的副本。其中某些字符被替换成了十六进制的转义序列。

说明

该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。其他所有的字符都会被转义序列替换。

MVC3

页面js:

var url = URL +"?startDT="+ escape($("#StartDT").val();//时间

在action中,

{

string dt = Server.UrlDecode(startDT);

}

2 encodeURI()函数

定义和用法

encodeURI() 函数可把字符串作为 URI 进行编码。

语法

encodeURI(URIstring)

参数  描述

URIstring  必需。一个字符串,含有 URI 或其他要编码的文本。

返回值

URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换。

说明

该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。

该方法的目的是对 URI 进行完整的编码,因此对以下在 URI 中具有特殊含义的 ASCII 标点符号,encodeURI() 函数是不会进行转义的:;/?:@&=+$,#

3 encodeURIComponent() 函数

定义和用法

encodeURIComponent() 函数可把字符串作为 URI 组件进行编码。

语法

encodeURIComponent(URIstring)

参数  描述

URIstring  必需。一个字符串,含有 URI 组件或其他要编码的文本。

返回值

URIstring 的副本,其中的某些字符将被十六进制的转义序列进行替换。

说明

该方法不会对 ASCII 字母和数字进行编码,也不会对这些 ASCII 标点符号进行编码: - _ . ! ~ * ' ( ) 。

其他字符(比如 :;/?:@&=+$,# 这些用于分隔 URI 组件的标点符号),都是由一个或多个十六进制的转义序列替换的。

提示和注释

提示:

请注意 encodeURIComponent() 函数 与 encodeURI()

函数的区别之处,前者假定它的参数是 URI 的一部分(比如协议、主机名、路径或查询字符串)。因此 encodeURIComponent()

函数将转义用于分隔 URI 各个部分的标点符号。

示例可参考:http://blog.csdn.net/zyu67/article/details/43951653

4 总结:

通过对三个函数的分析,我们可以知道:

escape()除了 ASCII

字母、数字和特定的符号外,对传进来的字符串全部进行转义编码,因此如果想对URL编码,最好不要使用此方法。

而encodeURI()

用于编码整个URI,因为URI中的合法字符都不会被编码转换。

encodeURIComponent方法在编码单个URIComponent(指请求参

数)应当是最常用的,它可以讲参数中的中文、特殊字符进行转义,而不会影响整个URL。

5.常见编码

网址URL中特殊字符转义编码

字符    -    URL编码值

空格    -    %20

"          -    %22

#         -    %23

%        -    %25

&         -    %26

(          -    %28

)          -    %29

+         -    %2B

,          -    %2C

/          -    %2F

:          -    %3A

;          -    %3B

<         -    %3C

=         -    %3D

>         -    %3E

?         -    %3F

@       -    %40

\          -    %5C

|          -    %7C

————————————————

网址URL中特殊字符转义编码

HTML转义字符对照表(部分)

js符号转码_JS 字符串编码函数(解决URL特殊字符传递问题):escape()、encodeURI()、encodeURIComponent()区别详解...相关推荐

  1. js符号转码_js 字符串编码转换函数

    escape 方法 对 String 对象编码以便它们能在所有计算机上可读, escape(charString) 必选项 charstring 参数是要编码的任意 String 对象或文字. 说明 ...

  2. JS 字符串编码函数(解决URL特殊字符传递问题):escape()、encodeURI()、encodeURIComponent()区别详解

    JS 字符串编码函数(解决URL特殊字符传递问题):escape().encodeURI().encodeURIComponent()区别详解 参考文章: (1)JS 字符串编码函数(解决URL特殊字 ...

  3. JS 字符串编码函数(解决URL特殊字符传递问题):escape()、encodeURI()、encodeURIComponent()区别详解...

    转:http://www.cnblogs.com/qiantuwuliang/archive/2009/07/19/1526687.html //该方法不会对 ASCII 字母和数字进行编码,也不会对 ...

  4. js中字符串编码函数escape()、encodeURI()、encodeURIComponent()区别详解

    1 escape()函数 定义和用法escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串. 语法escape(string) 参数 描述string 必需.要被转义或编码的 ...

  5. js符号转码_js传特殊字符到controller (java)的转码问题

    原标题:js传特殊字符到controller (java)的转码问题 1.一串特殊字符 \\&\\,\_)(*&^)\,\\.\\+_} 2.ajax请求 $.ajax({ url: ...

  6. java mod 函数的使用方法_Java中 % 与Math.floorMod() 区别详解

    %为取余(rem),Math.floorMod()为取模(mod) 取余取模有什么区别呢? 对于整型数a,b来说,取模运算或者取余运算的方法都是: 1.求 整数商: c = a/b; 2.计算模或者余 ...

  7. url的三个js编码函数escape(),encodeURI(),encodeURIComponent()简介

    转载地址:http://www.haorooms.com/post/js_escape_encodeURIComponent 引子 浏览器URl地址,上网一定会用到,但是浏览器地址有中文或者浏览器ur ...

  8. url的三个js编码函数escape(),encodeURI(),encodeURIComponent()简介【转】

    引子 浏览器URl地址,上网一定会用到,但是浏览器地址有中文或者浏览器url参数操作的时候,经常会用到encodeURIComponent()和decodeURIComponent()以及encode ...

  9. clickhouse 常用函数 算数函数 时间函数 日期函数 字符串函数 比较函数 数据类型函数 逻辑函数 类型转换函数 替换函数 数组函数 随机函数 编码函数 UUID URL IP 函数

    clickhouse 常用函数 算数函数 时间函数 日期函数 字符串函数 比较函数 数据类型函数 逻辑函数 类型转换函数 替换函数 数组函数 随机函数 编码函数 UUID URL IP 函数 算数函数 ...

最新文章

  1. mysql主从切换机制torch_Mysql主从复制 - osc_y0vjyklt的个人空间 - OSCHINA - 中文开源技术交流社区...
  2. 在pcduino上实现图像识别的程序
  3. HighNewTech:【2019WAIC世界人工智能大会】上海正式开幕——现场精彩时刻
  4. gradle 转 maven
  5. jzoj3920-噪音【贪心,dp】
  6. java用内部类实现多重继承
  7. html跳转,获取get提交参数
  8. PM3GUI 和 RDV4GUI 专业版软件试用手札
  9. 成都盛铭轩:商家怎么装修设计
  10. 你真的了解LinkedBlockingQueue的put,add和offer的区别吗
  11. 地下城php补丁怎么用,dnf技能补丁怎么用到WeGame(附其使用教程)
  12. c语言大作业矩阵运算,用C语言实现矩阵运算
  13. 《安富莱嵌入式周报》第275期:2022.07.18--2022.07.24
  14. 关于高压线路如何防山火
  15. 【她的心你伤的起吗?】
  16. 哈工大计算机科学与技术硕士培养方案,计算机科学与技术学科硕士研究生培养方案哈工大计算机学院[文].pdf...
  17. 中国最大的“隐形首富”,掌舵中国最大汽车集团,身价高达760亿
  18. 利用七牛云作为图片服务器
  19. mybatis报错### The error may involve defaultParameterMap ### The error occurred while setting paramete
  20. 广义估计方程估计方法_广义估计方程简介

热门文章

  1. 修改webpack配置,在react中使用less
  2. 因为难看的签名尴尬?Python爬虫制作艺术签名软件!
  3. 记录一次网盘资源不给提取码的经历!另类编程思维,Python破之!
  4. 《scikit-learn》xgboost
  5. leetcode - 617. 合并二叉树
  6. 数字图像处理--空间滤波器
  7. 包含目录、库目录、附加包含目录、附加库目录、附加依赖项如何使用? 及静态库,动态库的创建与调用和vs里引用的使用
  8. FFmpeg命令的几种应用
  9. Ubuntu16.04 设置环境变量的方法
  10. mysql state_MySQL进程常见的State【转】