ruby 检查给定字符串是否为URL

5jdjgkvh  于 2023-10-17  发布在  Ruby
关注(0)|答案(2)|浏览(120)

在我的rails应用程序中,我需要验证用户给出的URL是否真的是一个URL。我只关心HTTP协议(也许还有HTTPS,我根本没有研究过),这让我相信Rails中可能已经有一些东西可以为我做这些工作。
如果没有:你能推荐一个正则表达式字符串来做这件事吗?我在谷歌上找到了一些,但根据用户的评论,它们似乎都有一两个问题。
谢谢

j2qf4p5b

j2qf4p5b1#

使用URI library

def uri?(string)
  uri = URI.parse(string)
  %w( http https ).include?(uri.scheme)
rescue URI::BadURIError, URI::InvalidURIError
  false
end

这是一个非常简单的例子。与正则表达式相比,使用URI库的优势在于可以执行复杂的检查。

l3zydbqr

l3zydbqr2#

validates :url, :format => URI::regexp(%w(http https))

相关问题