Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在尝试创建一个小型系统,人们可以在其中填写信息,包括他们的网站地址。只是,有些人会输入“www.example.com”,有些人会输入“http://www.example.com”,有些人会输入“example.com”。
什么是最干净的方法:
验证所有 URL,因为它们都包含 http:// 所以当我点击它时,我会正确重定向,并且
对于链接上的可见文本,在没有 http:// 的情况下获取版本的最简单方法是什么?
我当然可以用一些有条件的文本替换来发疯,但必须有更好的方法来做到这一点。
我将通过这种方式检查地址是否以开头,http(s)://然后添加它。不要对 and 做任何事情,example.com因为www.example.com它会破坏整个地址。
http(s)://
example.com
www.example.com
所以你可以写:
url = 'http://' + url unless url =~ /\Ahttps?:\/\//
我建议为此使用 gem - 没有理由尝试自己编写所有这些。
这里有一个可能适合您的需求。可能还有其他人,但这个似乎很有用,并且有一个不错的追随者:
https://github.com/conickal/validates_url_format_of