我需要使用 jQuery 或 vanilla JavaScript 重新格式化字符串
假设我们有"Sonic Free Games"
.
我想将其转换为"sonic-free-games"
.
因此,空格应替换为破折号,并将所有字母转换为小写字母。
请对此有任何帮助吗?
我需要使用 jQuery 或 vanilla JavaScript 重新格式化字符串
假设我们有"Sonic Free Games"
.
我想将其转换为"sonic-free-games"
.
因此,空格应替换为破折号,并将所有字母转换为小写字母。
请对此有任何帮助吗?
只需使用 Stringreplace
和toLowerCase
方法,例如:
var str = "Sonic Free Games";
str = str.replace(/\s+/g, '-').toLowerCase();
console.log(str); // "sonic-free-games"
注意 上的g
标志RegExp
,它将在字符串中全局替换,如果不使用它,则仅替换第一次出现,并且RegExp
将匹配一个或多个空白字符。
上面的回答可以认为有点混乱。字符串方法不会修改原始对象。他们返回新对象。一定是:
var str = "Sonic Free Games";
str = str.replace(/\s+/g, '-').toLowerCase(); //new object assigned to var str
您还可以使用split
和join
:
"Sonic Free Games".split(" ").join("-").toLowerCase(); //sonic-free-games
@CMS 的回答很好,但我想指出您可以使用这个包:https : //github.com/sindresorhus/slugify,它为您完成并涵盖了许多边缘情况(即德语变音、越南语、阿拉伯语) 、俄语、罗马尼亚语、土耳其语等)。
如果你的项目中有 lodash,你可以试试 kebabCase
_.kebabCase('Sonic Free Games')