关于javascript:用破折号替换空格并使所有字母小写

Replace spaces with dashes and make all letters lower-case

我需要使用jquery或普通javascript重新格式化字符串

假设我们有"Sonic Free Games"

我想把它转换成"sonic-free-games"

所以空格应该用破折号替换,所有字母都转换成小写。

有什么帮助吗?


只需使用字符串replacetoLowerCase方法,例如:

1
2
3
var str ="Sonic Free Games";
str = str.replace(/\s+/g, '-').toLowerCase();
console.log(str); //"sonic-free-games"

注意RegExp上的g标志,它将在字符串中进行全局替换,如果不使用,则只替换第一个出现的字符,并且RegExp将匹配一个或多个空白字符。


上面的答案可能有点令人困惑。字符串方法没有修改原始对象。它们返回新对象。必须是:

1
2
var str ="Sonic Free Games";
str = str.replace(/\s+/g, '-').toLowerCase(); //new object assigned to var str


您也可以使用splitjoin

1
"Sonic Free Games".split("").join("-").toLowerCase(); //sonic-free-games