jim*_*ung 1 ruby regex ruby-on-rails
有一个表单字段,用户应以"google.com"的形式输入域名.
但是,考虑到困惑的用户,我希望能够将输入清理为"google.com"的确切形式,以防他们输入以下情况:
http://www.google.com
http://google.com
google.com/blah
www.google.com
..and other incorrect forms
Run Code Online (Sandbox Code Playgroud)
完成此任务的最佳方法是什么?
提前致谢!
你应该通过addressable/uri构建你的系统,这个gem会处理URI的东西(路径,主机,端口),你只需提供默认方案即可http.
(gem install addressable).
例
>> uri = Addressable::URI.parse("http://google.com?q=lolcat")
=> #<Addressable::URI:0x80bcf0e0 URI:http://google.com?q=lolcat>
>> [uri.host,uri.path,uri.scheme]
=> ["google.com", "", "http"]
Run Code Online (Sandbox Code Playgroud)
基本上你只需要检测http://是否存在并添加它,如果不是这样,因为URI不会为你猜测它.它完成了,没有更多的手动处理.