使用JavaScript将字符串转换为URL友好的slug

SEO很重要,而其中一件可以帮助提升网站SEO的事情是拥有一个易于阅读和理解的URL。这就是slug的作用。

slug是字符串的URL友好版本,通常用于标识网站上的资源。按照惯例,slug是通过将字符串转换为小写删除特殊字符用破折号替换空格来创建的。

首先,使用String.prototype.toLowerCase()String.prototype.trim()将字符串转换为小写并整理字符串。然后,可以使用正则表达式查找任何非字母数字字符(\w),空格(\s)或破折号(-)并将它们删除,使用String.prototype.replace()

之后,可以再次使用String.prototype.replace()单词分隔符,如空格(\s)、下划线(_)和破折号(-),替换为单个破折号(-)。

最后,可以使用正则表达式匹配字符串开头和结尾的一个或多个连续破折号(-+)并将其删除,再次使用String.prototype.replace()

const slugify = str =>
  str
    .toLowerCase()
    .trim()
    .replace(/[^\w\s-]/g, '')
    .replace(/[\s_-]+/g, '-')
    .replace(/^-+|-+$/g, '');

slugify('Hello World!'); // 'hello-world'