使用URI.parse验证URL

时间:2012-11-23 17:41:08

标签: ruby-on-rails validation url

我想使用URI.Parse验证Rails中的网址,只要URI.parse不引发URI::InvalidURIError,该网址就有效。这是一个好主意吗?哪些URL会通过此验证测试?

1 个答案:

答案 0 :(得分:3)

是的,如果您计划在应用中使用这些网址,这是个好主意。

URI将证明该字符串可解析为以下部分:scheme,userinfo,host,port,  注册表,路径,不透明,查询,片段。

URI处理这些方案:

  • FTP,HTTP,HTTPS,LDAP,LDAPS或MailTo
  • 或URI :: Generic

http://www.ruby-doc.org/stdlib-1.9.3/libdoc/uri/rdoc/URI/Parser.html#method-i-parse

如果您有其他方案,可以在解析后自行处理。

URI.parse通过调用URI.split来工作,它使用两个正则表达式:

  • 绝对URI的URI :: ABS_URI
  • 相对URI的URI :: REL_URI

您可以查看这些内容以了解它们的匹配方式。如果你愿意,你也可以改变它们。