JavaScript URL.canParse() — перевірка коректності адреси


Статичний метод URL.canParse() перевіряє, чи є рядок коректною адресою — і повертає true або false.

автор: NagarD

Загальний опис

До нього перевірку писали через try...catch навколо new URL() — бо конструктор на сміття кидає помилку. Виглядало це так, ніби виняток використовують замість умови, і всім було трохи соромно.

canParse() робить те саме чесно й без винятків. Другим аргументом, як і в конструктора, можна передати базову адресу — тоді перевіряється й відносне посилання.

автор: NagarD

Порада

Валідуєш поле «сайт» у формі — це рівно те, що треба. Регулярка для адрес завжди щось пропускає або щось відкидає даремно.

автор: NagarD

Переглядачі

Підтримка: стаціонарні переглядачі
Переглядач Google Chrome Mozilla Firefox Apple Safari Opera Microsoft EDGE Microsoft Internet Explorer
canParse 120+ 115+ 17+ 106+ 120+ -
Підтримка: мобільні переглядачі
Переглядач Mobile Google Android Mobile Google Chrome Mobile Mozilla Firefox Mobile Apple Safari
canParse 120+ yes yes 17+

Приклади

+ запропонувати свій приклад у пісочниці

Валідація адреси без try...catch.

HTML

<input id="site" placeholder="https://example.com">

JS

const input = document.getElementById('site');

input.addEventListener('blur', () => {
    const valid = URL.canParse(input.value);

    input.setCustomValidity(valid ? '' : 'Некоректна адреса');
});

console.log(URL.canParse('https://css.in.ua')); // true
console.log(URL.canParse('не адреса'));         // false

// старий спосіб — виняток замість умови
// try { new URL(text); } catch { ... }
автор: NagarD

Коментарі

Коментарів ще немає — будьте першим!

Відповідь для

Увійдіть — коментар з'явиться одразу, без капчі й очікування перевірки.

Пропозиція правки

Ваша версія — : після перевірки замінить чинну. Нова порада чи нотатка — з'явиться на сторінці після перевірки.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія секції «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Ваша версія опису «»: після перевірки замінить чинну.

Ви гість — діють добові ліміти. Увійдіть, щоб пропонувати без капчі.

Зворотний зв'язок
Вхід