Javascript 如何删除“;http://quot;从域名内部查看

Javascript 如何删除“;http://quot;从域名内部查看,javascript,angularjs,Javascript,Angularjs,如何在AngularJS应用程序中从URL内部视图的开头删除“http://” 我在数据库中有如下URL: http://example.com/ http://example.com example.com 但我只需要展示一下 example.com 在视图内部。在视图中使用此过滤器 app.filter('domain', function () { return function (input) { var output = "", matches; va

如何在AngularJS应用程序中从URL内部视图的开头删除“http://”

我在数据库中有如下URL:

http://example.com/
http://example.com
example.com
但我只需要展示一下

example.com

在视图内部。

在视图中使用此过滤器

app.filter('domain', function () {
  return function (input) {
    var output = "",
    matches;

    var urls = /\w+:\/\/([\w|\.]+)/;
    matches = urls.exec( input );

    if (matches !== null) output = matches[1];
      return output;
  };
});

这涉及HTTP和HTTPS或任何其他URL。它使用内置的URL类,它将处理所有您没有正确想到的事情

  app.filter('domain', function () {
    return function (input) {
      try {
        var url = new URL(input);
        return url.hostname;
      } catch (DOMException) {
        // Malformed URL. Return original (or something else).
        return input; }
      };
    });
正确且您可能没有想到的URL:

  • file://example.com

您现在可能不需要它们,但使用正确的库函数意味着您的应用程序不会在将来有人试图将其用于其他用途时意外中断。

@Joe我使用有限的URL,我没有用于撤消接受的Httpsorry,Joe展示了一种更好的方法。我想其他人需要it@Gordian是的,我觉得在项目中使用这个过滤器更好。如果输入URL中没有协议,则会失败。我知道问题没有提到这个条件。在“格式错误的url”注释后的行中,您可以附加url方案,然后重试。