isAbsoluteURL.js 561 B

123456789101112131415
  1. 'use strict';
  2. /**
  3. * Determines whether the specified URL is absolute
  4. *
  5. * @param {string} url The URL to test
  6. *
  7. * @returns {boolean} True if the specified URL is absolute, otherwise false
  8. */
  9. export default function isAbsoluteURL(url) {
  10. // A URL is considered absolute if it begins with "<scheme>://" or "//" (protocol-relative URL).
  11. // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed
  12. // by any combination of letters, digits, plus, period, or hyphen.
  13. return /^([a-z][a-z\d+\-.]*:)?\/\//i.test(url);
  14. }