Javascript URL查询字符串中的特殊字符
在这种情况下,用户可以在URL查询字符串中输入他们想要的任何字符 例如: 无论字符是什么,网页都必须接受ID参数。但是,某些特殊字符,如符号(&)和磅(#)会产生问题。我怎样才能接受它们 对您的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
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)