拆分字符串并在单词之间添加连字符

hol*_*ard 2 string jquery split lowercase hyphen

可能的重复:
用破折号替换空格并使用 javascript 使所有字母小写

我需要能够分割一个字符串并在单词之间添加一个连字符。此外,字符应为小写。我想最好的办法是在这里使用正则表达式,但我真的很讨厌正则表达式。有什么建议?

var str = "Foo String";
Run Code Online (Sandbox Code Playgroud)

所需的输出:

foo-string
Run Code Online (Sandbox Code Playgroud)

笔记:

该字符串始终包含两个单词!

Ble*_*der 6

像这样的东西应该适用于大多数字符串:

str.toLowerCase().trim().split(/\s+/).join('-');
Run Code Online (Sandbox Code Playgroud)

.trim() 某些较旧的浏览器不支持,但您可以将其替换为(我认为) .replace(/^\s+|\s+$/g, '')