【问题标题】:Regex to remove a hash-parameter from the urls hash正则表达式从 urls 哈希中删除哈希参数
【发布时间】:2013-08-05 13:41:59
【问题描述】:

我有这样的网址

 http://localhost:18314/#&t=325&r=342793184&c=408C0115-BBF9-4D1B-B02B-0CCB1D033768&r=open

http://localhost:18314/#&t=325&c=408C0115-BBF9-4D1B-B02B-0CCB1D033768

我需要一个 javascript 正则表达式,它可以从哈希中删除“&c=408C0115-BBF9-4D1B-B02B-0CCB1D033768”。

【问题讨论】:

  • 出于好奇,您为什么将这些值放入哈希中?通常他们会进入?#之间的查询字符串。不确定,但搜索引擎等可能会在抓取具有此类 URL 的页面时遇到问题
  • 这个项目无论如何都没有开放索引。
  • 因不够聪明而在不必要时不使用正则表达式而被否决。 >__>
  • 我没明白。使用正则表达式有什么问题?你的解决方案根本不适合我。

标签: javascript regex


【解决方案1】:

您可以使用replace

var url2 = url.replace(/&c=[^&]+/,'')

【讨论】:

  • 请注意 + 运算符匹配一个或多个字符,因此如果 URL 恰好是例如.../#&c=&t=325(空白 c 参数)它不会被删除。我会使用* 代替:/&c=[^&]*/(除非我确定c 参数将始终为非空字符串。)
  • 谢谢dystroy!和你柏拉图。它永远不会是空的,但很高兴知道! :)
猜你喜欢
  • 2018-01-12
  • 1970-01-01
  • 1970-01-01
  • 2013-05-04
  • 1970-01-01
  • 1970-01-01
  • 2022-06-14
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多