【问题标题】:get querystring from URL regex and javascript从 URL regex 和 javascript 获取查询字符串
【发布时间】:2012-02-26 21:12:04
【问题描述】:

我可以使用 regex 和 javascript 从 url 中获取查询字符串:但我需要摆脱这些 %22...这些不会出现在 IE 中,只是在 FF 中。我该怎么做那?在 k=.. 但没有 %22..

 <script type="text/javascript">document.write('<div class="DynamicSearchTitle">
Showing All Results For ' +  
location.href.match(/\&k\=(.+)/)[1]+ ' Matches </div>'); 
</script>

网址

http://mysite/sites/dev/contact-us/Pages/LocationSearchTestPage.aspx?s=bcs_locations&k=%22Hospital%22%20OR%20%22Office%22

【问题讨论】:

  • 网址无效。 “找不到页面”。
  • 为什么需要 URL 才能工作?我刚刚包含了示例 URL ..真正的 url 还没有上线..
  • 停止在你的查询字符串中使用空格和奇怪的字符,你应该是金色的?
  • 我希望我能做到! Sharepoint 的奇怪世界有奇怪的方法来完成工作:)
  • 请注意,使用location.search可以更方便地提取查询字符串。

标签: javascript jquery regex query-string


【解决方案1】:

网址已损坏,因此我无法查看整个代码,但我认为您要查找的是 decodeURI-function

decodeURI("%22")

例如会返回 "

从您的问题中取消转义网址:

decodeURI("&k=%22Hospital%22%20OR%20%22Office%22");

返回&amp;k="Hospital" OR "Office"

【讨论】:

  • unescape 很糟糕。它不适用于非 ASCII 字符。 -1 用于 w3schools 参考。
【解决方案2】:

您可以通过here描述的简单JS函数获取所有查询字符串组件

这样使用,

var uparts = getUrlParts(location.href);
var the_K = uparts["k"];

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-04-28
    • 2013-01-17
    • 2017-07-20
    • 1970-01-01
    • 2012-04-09
    • 2018-08-04
    • 2018-05-19
    • 1970-01-01
    相关资源
    最近更新 更多