Limited availability
Note: This feature is available in Web Workers.
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.
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
.
A boolean
.
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");
// Absolute URL strings
console.log(pattern.test("https://store.example.com/books/123")); // true
console.log(pattern.test("https://example.com/books/123")); // false
// Relative URL strings
console.log(pattern.test("/books/123", "http://store.example.com")); // true
console.log(pattern.test("/books/123", "data:text/plain,hello world!")); // false
console.log(pattern.test("/books/123")); // false
// Structured objects
console.log(
pattern.test({
pathname: "/books/123",
baseURL: "http://store.example.com",
}),
); // true
console.log(
pattern.test({
protocol: "https",
hostname: "store.example.com",
pathname: "/books/123",
}),
); // true
console.log(
pattern.test({
protocol: "file",
hostname: "store.example.com",
pathname: "/books/123",
}),
); // false
Specifications Browser compatibility See also
URLPattern
is available on GitHubRetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4