2014-09-01 126 views
1

我真的不明白.replace的語法:D有人可以修復我的代碼嗎?現在它只從URL中刪除& chat = 1,但我需要它從& chat = 1刪除所有內容到URL的結尾。 範例網址:從url中刪除參數

http://xxxxxxx.xx/index.php?menu=1&submenu=1&chat=1&od=3&komu=1 

結果我需要什麼:

http://xxxxxxx.xx/index.php?menu=1&submenu=1 

結果是什麼我的代碼現在做:

http://xxxxxxx.xx/index.php?menu=1&submenu=1&od=3&komu=1 

代碼我現在使用的是什麼:

location.href=location.href.replace(/&?chat=([^&]$|[^&]*)/i, ""); 

Thx for he LP,對不起,我的英語:)

回答

2

您正在使用的正則表達式的一部分,你的更換,並根據你所需要的這種表達似乎更簡單,適合您的需要:

&?chat=.* 

正則表達式中

  • ?意味着可選所以&是可選的可以或可以在字符串中不存在。
  • chat=這是由
  • .*這個字面上預期的字符串,隨後基本上意味着什麼,從0到其他儘可能多的字符存在的字符串中。

  • i最後意味着大小寫不敏感。

Online Demo

事情是這樣的:

"http://xxxxxxx.xx/index.php?menu=1&submenu=1&chat=1&od=3&komu=1".replace(/&?chat=.*/i,"") 
//->outputs "http://xxxxxxx.xx/index.php?menu=1&submenu=1" 
+0

THX解釋!問題解決了 :) – 2014-09-01 14:51:16