W3cubDocs

/Web APIs

URLPattern

Experimental: This is an experimental technology
Check the Browser compatibility table carefully before using this in production.

The URLPattern interface matches URLs or parts of URLs against a pattern. The pattern can contain capturing groups that extract parts of the matched URL.

More information about the syntax of patterns can be found on the API overview page: URL Pattern API

Note: This feature is available in Web Workers

Constructor

URLPattern() Experimental

Returns a new URLPattern object based on the given pattern and base URL.

Instance properties

hash Experimental

A string containing a pattern to match the hash part of a URL.

hostname Experimental

A string containing a pattern to match the hostname part of a URL.

password Experimental

A string containing a pattern to match the password part of a URL.

pathname Experimental

A string containing a pattern to match the pathname part of a URL.

port Experimental

A string containing a pattern to match the port part of a URL.

protocol Experimental

A string containing a pattern to match the protocol part of a URL.

search Experimental

A string containing a pattern to match the search part of a URL.

username Experimental

A string containing a pattern to match the username part of a URL.

Instance methods

exec() Experimental

Returns an object with the matched parts of the URL or null if the URL does not match.

test() Experimental

Returns true if the URL matches the given pattern, false otherwise.

Specifications

Browser compatibility

Desktop Mobile
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet
URLPattern 95 95 No No 81 No 95 95 No 67 No 17.0
URLPattern 95 95 No No 81 No 95 95 No 67 No 17.0
exec 95 95 No No 81 No 95 95 No 67 No 17.0
hash 95 95 No No 81 No 95 95 No 67 No 17.0
hostname 95 95 No No 81 No 95 95 No 67 No 17.0
password 95 95 No No 81 No 95 95 No 67 No 17.0
pathname 95 95 No No 81 No 95 95 No 67 No 17.0
port 95 95 No No 81 No 95 95 No 67 No 17.0
protocol 95 95 No No 81 No 95 95 No 67 No 17.0
search 95 95 No No 81 No 95 95 No 67 No 17.0
test 95 95 No No 81 No 95 95 No 67 No 17.0
username 95 95 No No 81 No 95 95 No 67 No 17.0

See also

  • A polyfill of URLPattern is available on GitHub
  • The pattern syntax used by URLPattern is similar to the syntax used by path-to-regexp

© 2005–2023 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/URLPattern