2013-04-28 14 views
1

我工作的查詢字符串和使用其他分隔符或demilitator。 現在我感興趣刪除。如何更改定位的正則表達式分隔符的查詢字符串的字符串刪除參數

我看了Delete parameter這個問題,我用腳本寫了LukePH。

function removeParameter(url, parameter) 
{ 
    var urlparts= url.split('?'); 

    if (urlparts.length>=2) 
    { 
     var urlBase=urlparts.shift(); //get first part, and remove from array 
     var queryString=urlparts.join("?"); //join it back up 

     var prefix = encodeURIComponent(parameter)+'='; 
     var pars = queryString.split(/[&;]/g); 
     for (var i= pars.length; i-->0;)    //reverse iteration as may be destructive 
      if (pars[i].lastIndexOf(prefix, 0)!==-1) //idiom for string.startsWith 
       pars.splice(i, 1); 
     url = urlBase+'?'+pars.join('&'); 
    } 
    return url; 
} 

隔板是:

  Separator 


javascript    Mako   

    =      %24+ 
    &      +%23+ 

在此腳本中有

var pars = queryString.split(/[&;]/g); 

我想改變使用拆分句子的分離+%23+

var pars = queryString.split(/[+%23+;]/g); 

這不起作用,因爲包含的值太多。

如何更改定位到字符串的正則表達式?

回答

1

方括號定義了一個字符類,就像在一組潛在匹配中一樣,所以將兩個相同的字符放在字符類中是沒有意義的。你需要做的是逃避你的特殊字符...

var pars = queryString.split(/\+%23\+;/g); 
相關問題