我的情况是用户可以在URL查询字符串中输入他们想要的任何字符。
示例:
http://localhost/default.aspx?ID=XXXX
http://localhost/default.aspx?ID=&XXXX
http://localhost/default.aspx?ID=#XXXX
无论字符是什么,网页都必须接受ID参数。但是,某些特殊字符(如&符号(&)和磅号(#))会产生问题。我怎么能按原样接受它们?
答案 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)