Web
URL Slug
Validate URL slugs: lowercase letters and digits separated by single hyphens, no leading/trailing hyphens.
Try it in RegexProPattern
regexJavaScript
/^[a-z0-9]+(?:-[a-z0-9]+)*$/Raw source: ^[a-z0-9]+(?:-[a-z0-9]+)*$
How it works
Anchored with ^ and $. Requires at least one alphanumeric character. Hyphens can only appear between alphanumeric groups — not at start or end.
Examples
Input
my-blog-postMatches
my-blog-post
Input
hello-world-123Matches
hello-world-123
Input
-bad-slug-No match
—Common use cases
- CMS URL slug validation
- SEO-friendly URL generation
- Blog post/product permalink checks
- Route parameter sanitisation