验证是否具有http / https的url结构-Ruby on Rails

时间:2019-05-10 23:02:21

标签: ruby-on-rails

如何验证网址的结构是否正确?网址可能包含也可能不包含http或https。

例如:

我尝试这个问题的代码:

Validation for URL/Domain using Regex? (Rails)

Regular

我收到此错误:

  

提供的正则表达式使用多行锚(^或$),   这可能会带来安全风险。您是要使用\ A和\ z,还是   忘记添加:multiline => true选项?

并且URI.regexp对我不起作用

我该如何解决?

1 个答案:

答案 0 :(得分:0)

为什么用正则表达式使事情复杂化?

您可能有一个自定义验证器,该验证器仅创建了URI资源并确认它具有主机?

def validate_url(url)
  uri = URI.parse(url)

  # raise errors if uri.host is nil
end

这样,您可以离开uri包来担心URL中是否有有效的域,而不用试图自己复制正则表达式。