text: 'use strict';
  
  var invalidPrototcolRegex = /^(%20|\s)*(javascript|data)/im;
  var ctrlCharactersRegex = /[^\x20-\x7E]/gmi;
  var urlSchemeRegex = /^([^:]+):/gm;
  var relativeFirstCharacters = ['.', '/']
  
  function isRelativeUrl(url) {
    return relativeFirstCharacters.indexOf(url[0]) > -1;
  }
  
  function sanitizeUrl(url) {
    var urlScheme, urlSchemeParseResults;
    var sanitizedUrl = url.replace(ctrlCharactersRegex, '');
    
    if (isRelativeUrl(sanitizedUrl)) {
      return sanitizedUrl;
    }
    
    urlSchemeParseResults = sanitizedUrl.match(urlSchemeRegex);
  
    if (!urlSchemeParseResults) {
      return 'about:blank';
    }
  
    urlScheme = urlSchemeParseResults[0];
  
    if (invalidPrototcolRegex.test(urlScheme)) {
      return 'about:blank';
    }
  
    return sanitizedUrl;
  }
  
  module.exports = {
    sanitizeUrl: sanitizeUrl
  };
  