URLPattern: test() method
The test() method of the URLPattern interface takes a URL or object of URL parts, and returns a boolean indicating if the given input matches the current pattern.
Syntax
test(input)
test(input, baseURL)
Parameters
-
input
-
The URL or URL parts to match against. This can either be a string, or an object providing the individual URL parts. The object members can be any of protocol, username, password, hostname, port, pathname, search, hash, or baseURL. Omitted parts in the object will be treated as empty strings. If the input cannot be parsed, or a relative URL without a base is provided, the method will return null.
baseURL Optional
-
A string representing the base URL to use in cases where input is a relative URL. If not specified, it defaults to undefined. If this parameter cannot be parsed, the method will return false.
Return value
Examples
This example shows how to use the test() method to match a URL against a pattern. The example prints the result of the test() calls to the console.
const pattern = new URLPattern("http{s}?://*.example.com/books/:id");
console.log(pattern.test("https://store.example.com/books/123"));
console.log(pattern.test("https://example.com/books/123"));
console.log(pattern.test("/books/123", "http://store.example.com"));
console.log(pattern.test("/books/123", "data:text/plain,hello world!"));
console.log(pattern.test("/books/123"));
console.log(
pattern.test({
pathname: "/books/123",
baseURL: "http://store.example.com",
}),
);
console.log(
pattern.test({
protocol: "https",
hostname: "store.example.com",
pathname: "/books/123",
}),
);
console.log(
pattern.test({
protocol: "file",
hostname: "store.example.com",
pathname: "/books/123",
}),
);
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 |
test |
95 |
95 |
No |
No |
81 |
No |
95 |
95 |
No |
67 |
No |
17.0 |
See also
- A polyfill of
URLPattern is available on GitHub