REGEXVAULTv2.0
Web & Network/URL
Verified Safe

URL Path Segments Regex for JavaScript

/^(?:/[a-zA-Z0-9\-._~!$&'()*+,;=:@%]*)+$/

What this pattern does

This page provides a well-structured, multi-part regular expression for matching url path segments, ported and verified for JavaScript. A rigorously tested regex reduces debugging time and protects your application from edge-case failures. The snippet below is ready to drop into your JavaScript project — whether you're validating in an Express middleware, a Next.js API route, or a client-side form.

Javascript Implementation

Javascript
// URL Path Segments
// ReDoS-safe | RegexVault — Web & Network > URL

const urlPathSegmentsRegex = /^(?:\/[a-zA-Z0-9\-._~!$&'()*+,;=:@%]*)+$/;

function validateUrlPathSegments(input: string): boolean {
  return urlPathSegmentsRegex.test(input);
}

// Example
console.log(validateUrlPathSegments("/api/v1/users")); // true

Test Cases

Matches (Valid)
Rejects (Invalid)
/api/v1/usersapi/v1/users
/products/item-123/path with spaces
/path/with/trailing//path<with>brackets
/%20encoded%20path
/a/path\backslash

When to use this pattern

This pattern is drawn from the Web & Network > URL category and carries a ReDoS-safe certification. That matters for JavaScript developers because especially critical in long-running Node.js event loops where a ReDoS vulnerability can block the entire process. RegexVault audits patterns against known backtracking attack vectors, ensuring you have the necessary context before using this regex in a high-stakes production environment.

Common Pitfalls

The path must start with /. A relative path (without leading /) should use a separate pattern. Do not allow backslashes — they are invalid in URLs and a common path traversal vector.

Technical Notes

Character class derived from RFC 3986 pchar definition. Percent-encoded sequences (%XX) are accepted structurally but not semantically validated.

Have a pattern that belongs in the vault?

Submit it for review — community-verified patterns get credited to your GitHub handle. Free submissions join the queue. Priority review available for $15.

Submit a Pattern