【问题标题】:jquery removing everything after question mark in urljquery删除url中问号后的所有内容
【发布时间】:2012-07-14 23:38:09
【问题描述】:

我想知道是否可以删除 URL 中问号后的所有内容?

http://www.site.com?some_parameters_continue_forever

我可以只使用.remove() 吗?需要在参数中放入什么?

谢谢

【问题讨论】:

    标签: jquery url parameters


    【解决方案1】:

    你可以使用这个简单的正则表达式:

    yourUrl.replace(/\?.+/, '')
    

    reomve() 用于 DOM 内容。

    【讨论】:

      【解决方案2】:

      试试这个 sn-p:

      var url = "http://www.somexample.com?a=b&c=2&d=3";
      url = url.substring(0 , url.indexOf('?')+1);
      

      【讨论】:

      • 如果我可以添加的不仅仅是?,是否可以检查? 或其他字母,例如&
      • 我想知道是否没有?,而是&。我想知道是否有可能做这样的事情url.indexOf('?','&')+1)
      【解决方案3】:

      由于 url 由浏览器控制,当您更改 url 时,页面将重新加载。仍然是你想做的事,在你不需要 ? 标记类型之后的东西的页面上..

      window.location = "http://www.mysite.com" //or whatever your site url is
      

      要动态执行此操作,您可以使用以下函数,然后使用 window.location

      function getPathFromUrl(url) {
        return url.split("?")[0];
      }
      

      注意当您更改网址时,页面将刷新。

      【讨论】:

      • 需要注意的一点(即使答案是正确的):是的,在 URL 中包含多个问号是有效的,请参阅 stackoverflow.com/questions/2924160/… 所以如果您想要其余的 url 字符串,你不能“仅仅”使用url.split("?")[1];
      • 顺便说一句,获取其余 url 字符串(包含所有参数)的解决方案是:url.substring( url.indexOf('?')+1 );
      【解决方案4】:

      发布这个在 Python 3 中对我有用的内容,因为其他一些解决方案没有。

      import re
      
      mystring = 'http://www.example.com?some_parameters_continue_forever'
      mystring_clean = re.sub(r'\?.*', '', mystring)
      
      print(mystring_clean)
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-11-03
        • 1970-01-01
        • 2011-10-23
        • 2022-06-16
        • 2017-12-31
        相关资源
        最近更新 更多