Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/389.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript URL查询字符串中的特殊字符_Javascript_Asp.net_Html_Url_Query String - Fatal编程技术网

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

Javascript URL查询字符串中的特殊字符,javascript,asp.net,html,url,query-string,Javascript,Asp.net,Html,Url,Query String,在这种情况下,用户可以在URL查询字符串中输入他们想要的任何字符 例如: 无论字符是什么,网页都必须接受ID参数。但是,某些特殊字符,如符号(&)和磅(#)会产生问题。我怎样才能接受它们 对您的URL进行编码 编辑:在您的评论之后,您希望获取ID的查询字符串值 String id = Request.QueryString["ID"]; 这: 其中uri是?ID=使用后的组件 userinput = escape(userinput) 然后,在PHP中: $userinput = u

在这种情况下,用户可以在URL查询字符串中输入他们想要的任何字符

例如:

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

对您的URL进行编码

编辑:在您的评论之后,您希望获取
ID的查询字符串值

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

其中
uri
?ID=

使用后的组件

userinput = escape(userinput)
然后,在PHP中:

$userinput = urldecode($_GET['id'])
或在JS中:

userinput = unescape(userinput)

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

在我的情况下,用户在地址栏中输入URL。我需要做的是只获取用户输入的ID。我如何在不控制URL而只控制查询字符串的情况下做到这一点?但是在这种情况下,当我真正想要的是ID等于“&XXXX”时,ID将是一个空字符串。我是否可以在网页侧添加控件,以便解释特殊字符,如符号和(&)就像任何普通字符一样?我认为您唯一的选择是遍历所有参数,假设ID是您期望的唯一参数。因此,如果用户输入?ID=123&456。然后看看它给了您什么,servlet API可能只给您一个值为123的参数ID。但它可能会给您第二个参数456,在这种情况下,您可以将它们附加在一起。但这确实是一个糟糕的解决方案,因为当您遍历时,它可能会出现问题。最好的办法是更改您的需求,因为技术不支持他们希望的工作方式。
userinput = unescape(userinput)