URLPattern: метод test()
Ограниченная доступность
Эта функция не относится к Baseline, так как она не работает в некоторых из наиболее широко используемых браузеров.
Экспериментальная функция: Это экспериментальная технология
Перед использованием в продакшене тщательно проверьте таблицу совместимости с браузерами.
Примечание: Эта функция доступна в Web Workers.
Метод test() интерфейса URLPattern принимает URL или объект с частями URL и возвращает булево значение, указывающее, соответствует ли переданный ввод текущему шаблону.
Синтаксис
test(input) test(input, baseURL)
Параметры
input-
URL или части URL для проверки соответствия. Это может быть строка или объект, предоставляющий отдельные части URL. Члены объекта могут быть любыми из
protocol,username,password,hostname,port,pathname,search,hash, илиbaseURL. Пропущенные части в объекте будут обрабатываться как пустые строки. Если ввод не может быть распарсен или указан относительный URL без базового, метод вернётnull. baseURLНеобязательно-
Строка, представляющая базовый URL, используемый в тех случаях, когда
inputявляется относительным URL. Если не указано, по умолчанию используетсяundefined. Если этот параметр не может быть распарсен, метод вернетfalse.
Возвращаемое значение
Значение типа boolean.
Примеры
В этом примере показано, как использовать метод test() для проверки соответствия URL шаблону. Пример выводит результат вызовов test() в консоль.
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
Спецификации
| Спецификация |
|---|
| URL Pattern # dom-urlpattern-test |
Совместимость с браузерами
| Рабочие столы | Мобильные устройства | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox for Android | Opera Android | Safari на IOS | Samsung Internet | WebView Android | |
test |
95 | 95 | Нет | 81 | Нет | 95 | Нет | 67 | Нет | 17.0 | 95 |
См. также
- Полифилл
URLPatternдоступен на GitHub
© 2005–2024 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/API/URLPattern/test