我想使用 验证 RailsURI.Parse
中的 URL,只要URI.parse
不引发URL 就有效URI::InvalidURIError
。这是一个好主意吗?哪些 URL 将通过此验证测试?
问问题
1742 次
1 回答
3
是的,如果您打算在您的应用程序中使用这些 URL,这是一个好主意。
URI 将证明字符串可解析为以下部分:方案、用户信息、主机、端口、注册表、路径、不透明、查询、片段。
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::ABS_URI 用于绝对 URI
- URI::REL_URI 用于相对 URI
您可以查看这些以了解它们如何匹配。如果你愿意,你也可以改变它们。
于 2012-11-23T18:30:48.487 回答