URL查询字符串中的特殊字符

时间:2011-07-19 15:55:06

标签: javascript asp.net html url query-string

我的情况是用户可以在URL查询字符串中输入他们想要的任何字符。

示例:

http://localhost/default.aspx?ID=XXXX

http://localhost/default.aspx?ID=&XXXX

http://localhost/default.aspx?ID=#XXXX

无论字符是什么,网页都必须接受ID参数。但是,某些特殊字符(如&符号(&)和磅号(#))会产生问题。我怎么能按原样接受它们?

4 个答案:

答案 0 :(得分:5)

此:

encodeURIComponent(uri)

其中uri?ID=

之后的组件

答案 1 :(得分:3)

如果用户输入查询字符串,他们必须首先正确编码查询字符串。如果您自己创建查询字符串,例如从表单提交,则需要使用URL编码方法。

答案 2 :(得分:1)

对您的网址进行编码HttpServerUtility.UrlEncode Method (String)

修改:在您的评论之后,您希望查询字符串值为ID

 String id = Request.QueryString["ID"];

答案 3 :(得分:0)

使用

userinput = escape(userinput)

然后,在PHP中:

$userinput = urldecode($_GET['id'])

或在JS中:

userinput = unescape(userinput)