How to slugify a string in JavaScript
A snippet of code I used to slugify a string
export function slugify(str) { // Remove leading and trailing whitespace str = str.trim() // Make the string lowercase str = str.toLowerCase() // Remove accents, swap ñ for n, etc str = str.normalize('NFD').replace(/[\u0300-\u036f]/g, '') // Remove invalid characters str = str.replace(/[^a-z0-9 -]/g, '') // Replace whitespace with a hyphen str = str.replace(/\s+/g, '-') // Collapse consecutive hyphens str = str.replace(/-+/g, '-') return str }
→ Get my JavaScript Beginner's Handbook
I wrote 20 books to help you become a better developer:
- JavaScript Handbook
- TypeScript Handbook
- CSS Handbook
- Node.js Handbook
- Astro Handbook
- HTML Handbook
- Next.js Pages Router Handbook
- Alpine.js Handbook
- HTMX Handbook
- React Handbook
- SQL Handbook
- Git Cheat Sheet
- Laravel Handbook
- Express Handbook
- Swift Handbook
- Go Handbook
- PHP Handbook
- Python Handbook
- Linux/Mac CLI Commands Handbook
- C Handbook