Замените пространство тире и сделайте все буквы в нижнем регистре, используя javascript

Мне нужно переформатировать строку, используя jquery или стандартный javascript

Допустим, что

Sonic Free Games

Я хочу преобразовать его в

звуковые свободной-игры

Итак, белые пробелы заменены тире и все буквы, преобразованные в маленькие буквы

Любая помощь по этому поводу?

Ответ 1

Просто используйте String replace и toLowerCase, например:

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

Обратите внимание на флаг g на RegExp, он заменит глобально внутри строки, если он не будет использован, будет заменено только первое вхождение, а также, что RegExp будет соответствовать одному или нескольким символы пробела.

Ответ 2

Выше ответ можно считать немного запутанным. Строковые методы не являются модифицирующими исходными объектами. Они возвращают новый объект. Это должно быть:

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

Ответ 3

Вы также можете использовать split и join:

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