在 URL 字符串中替换撇号的问题

Issue with replacing apostrophe in URL string

我试过转义、替换、拆分和加入,但我似乎无法摆脱类别标题中的 ':

Over 60's

var dropdown = document.getElementById("cat");
if ( dropdown.options[dropdown.selectedIndex].value > 0 ) {
        var currentText = this.options[this.selectedIndex].innerHTML;
        var currentSlug = currentText.replace(/ |'/g, function(match){ if (match === " " || match === "'" ){ return "-"; } return "";}).toLowerCase();
        location.href = "..url.. " + currentSlug;
} else {
        location.href = dropdown.baseURI;  
    }
}
dropdown.onchange = onCatChange;

这个场景需要不同的方法吗

如果要将字符列表替换为破折号,应将字符放在方括号内 []。对于撇号,使用反斜杠将其转义。

var s ="Text|Text'Text Text";
// replace all instances of space, pipe and apostrophe to dash
// and convert the string to lowercase
var t = s.replace(/[ |\']/g,'-').toLowerCase();
// use t here
alert(t);