I have no idea where the 'slug' term came from, but here we go:
function convertToSlug(Text) {
return Text
.toLowerCase()
.replace(/ /g, '-')
.replace(/[^w-]+/g, '');
}
The first replace
method will change spaces to hyphens, second, replace removes anything not alphanumeric, underscore, or hyphen.
If you don't want things "like - this" turning into "like---this" then you can instead use this one:
function convertToSlug(Text) {
return Text
.toLowerCase()
.replace(/[^w ]+/g, '')
.replace(/ +/g, '-');
}
That will remove hyphens (but no spaces) on the first replace, and in the second replace it will condense consecutive spaces into a single hyphen.
So "like - this" comes out as "like-this".
与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…