【问题标题】:Detecting bad URLs检测不良 URL
【发布时间】:2018-06-03 08:59:23
【问题描述】:

我有一个 API 有时会返回类似 http://www.trinidadexpress.comhttp://www.trinidadexpress.com/storyimage/TT/20171220/LOCAL/171229994/AR/0/AR-171229994.jpg&MaxW=400 的值

有没有办法使用node.js 来检测这样的 URL(基本上在 url 中有 2 个 http://),如果它具有这种模式,则替换它将是一个诸如 https://www.wefornews.com/wp-content/uploads/2017/01/news-3.jpg 之类的 URL

【问题讨论】:

  • 修复 API 或使用其他 API,这是不正常的。解决源头,不要使用创可贴,希望它能坚持
  • “在 url 中基本上有 2 个 http://”,如果在纯 Js 中您已经可以使用正则表达式甚至纯字符串搜索来检查,谁需要 node.js?

标签: node.js regex url


【解决方案1】:

匹配您要查找的字符串的正则表达式非常简单:/https?:\/\//g(查找字符“http”,s? 表示“s”中的一个或没有,而“://”表示 /转义)

要检查一个字符串是否有多个实例,请使用String.prototype.match 并检查返回数组的长度。

这是一个例子:

var str = "http://www.trinidadexpress.comhttp://www.trinidadexpress.com/storyimage/TT/20171220/LOCAL/171229994/AR/0/AR-171229994.jpg&MaxW=400";
if (str.match(/https?:\/\//g).length > 1) {
    alert("invalid url!");
}

【讨论】:

    猜你喜欢
    • 2016-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-12-22
    • 2011-06-17
    • 2017-02-02
    • 1970-01-01
    相关资源
    最近更新 更多