url中允许哪些符号

不要自己去搞一套转义或是序列化的方法。用现成的应用最广的 JSON,然后直接 urlencode(encodeURIComponent)。这样比起自己转义,后续维护起来容易,通用性强。这种接口的事情上没有必要自己重新造轮子。
■网友
URL的特殊字符 当几种特定的字符集合出现在URL中时,你必须特别注意: \u0026gt;\u0026gt;\u0026gt; 首先,在URL中有特殊意义的字符,也就是保留字符: ; / ? : @ \u0026amp; = + $ , {10个} 这意味着,这些字符通常在URL中使用时,是有特殊含义的(如 ":"把每一个部分分隔开来), 如果一个URL的某一部分(如查询参数的一部分)可能包含这些字符之一,则应该在放入URL之前 对其进行转义处理.\u0026gt;\u0026gt;\u0026gt; 第二组需要注意的字符集是非保留字符集.如下: - _ . ! ~ * \u0026#39; ( ) {9个} 这些字符可以被用于URL的任何位置(有些地方,不允许它们出现). 使用它们作为URL的一部分时,你不需要进行编码/转义处理.你可以对它们进行转义操作且不影响URL 的语义,但不建议这么做.\u0026gt;\u0026gt;\u0026gt; 第三组 不推荐字符 也就是避用字符集合使用它们是不明智的:{ } | \\ ^ `::数字1键前:: {8个}不明智的原因:网关有时会修改这样的字符,或者将其作为分隔符使用.这并不意味着网关总会修改这些字符,但这种情况可能发生.如果真是要使用这些字符,请做转义处理.\u0026gt;\u0026gt;\u0026gt; 第四组 例外字符集 这组字符集是所有的ASCII控制字符组成.包含空格字符以下列字符:\u0026lt; \u0026gt; # % " {5 个}控制字符是不可打印的US-ASCII字符(十六进制00~1F及7F)如果使用,请转义处理.有些字符#(哈希)和%(百分比)在URL上下文中有着特殊含义,你可以把它们当作保留字符对待.这个集合中的其它字符无法被打印,因此对它们进行转义是唯一的表示方式, \u0026lt; \u0026gt; " 这三个字符需要被转义,因为这些字符通常用来在文本中分隔URL转载自:http://doiob.blog.163.com/blog/static/175757412201011291023290/


    推荐阅读