Check if a URL is absolute
Detect a scheme such as https: at the start of a URL string.
function isAbsoluteUrl(url) { return /^[a-z][a-z0-9+.-]*:/i.test(url); }
Input & expected output
Input
"https://api.oveyon.com/v1/send"Expected output
trueThe edge case
Input
"//cdn.example.com/app.js"Expected output
falseKnow the limits
- A scheme is not a safety check: javascript: and data: URLs are absolute too. Allow-list https: before storing or following a URL, such as a webhook endpoint.
- Schemes are case-insensitive (RFC 3986), so this version adds the i flag the original regex lacked.
The function above is the implementation used by the lab. The lab validates JSON types and caps size before execution; include equivalent validation when accepting untrusted input in your application.
Source & maintenance
Based on Check if a URL is absolute from the original 1loc collection by Nguyen Huu Phuoc. Copyright (c) 2020 phuoc-ng. MIT licensed.
Curated implementation adds the case-insensitive flag (RFC 3986 schemes); explicit input bounds, edge case and scheme-safety note. Original MDX retained as inert source evidence.
Maintained by Oveyon. Source commit: 14b481cf60df. Read the license.
Keep exploring
- Capitalize a string — Uppercase the first Unicode code point and preserve the remaining text.
- Reverse a string — Reverse Unicode code points without splitting surrogate pairs.
- Check a palindrome — Compare a string with its code-point reversal.