isAbsoluteURL.js 563 B

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