ruby-on-rails – (rails)使用regexp验证URL帮助
发布时间:2020-12-17 03:33:43 所属栏目:百科 来源:网络整理
导读:我正在使用以下内容来验证URL是否有效格式化: validates_format_of :website,:with = URI::regexp(%w(http https)) 但是,当URL不以http://或https://开头时,它不起作用.是否有一些类似的方法来验证带有URI :: regexp(或URI)的URL,并使其包含不以http://
我正在使用以下内容来验证URL是否有效格式化:
validates_format_of :website,:with => URI::regexp(%w(http https)) 但是,当URL不以http://或https://开头时,它不起作用.是否有一些类似的方法来验证带有URI :: regexp(或URI)的URL,并使其包含不以http://开头的有效URL? (例如,www.google.com和http://www.google.com一样有效) 解决方法
This post on Daring Fireball提供了强大的正则表达式:
b(([w-]+://?|www[.])[^s()<>]+(?:([wd]+)|([^[:punct:]s]|/))) A more recent post对其进行了改进(为了清楚起见,在此处添加了N.B.换行符和缩进;有关更加扩展的版本的说明,请参阅帖子): (?i)b((?:[a-z][w-]+:(?:/{1,3}|[a-z0-9%])| wwwd{0,3}[.]| [a-z0-9.-]+[.][a-z]{2,4}/) (?:[^s()<>]+| (([^s()<>]+| (([^s()<>]+)))*))+ (?:(([^s()<>]+| (([^s()<>]+)))*)| [^s`!()[]{};:'".,<>???“”‘’])) 从我的测试中,URL :: regexp在URI的定义中是松散的(虽然它确实需要http …). 如有必要,您可以使用虚拟属性或before_save过滤器将http://附加到您的URL. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 如何在.NET(数组)中序列化这个Xml
- ruby-on-rails-3.1 – 为什么我从Paperclip收到“Too many
- vb6备忘录(1):界面
- cocos2dx 3.3 cocos studio控件与C++代码内类的对应关系
- .NET领域驱动设计—初尝(一:疑问、模式、原则、工具、过程
- swift – 属性getters和setter
- ruby-on-rails – 如何使用Nokogiri编写一个巨大的XML文件?
- c# – 无法解析程序集或Windows元数据文件’System.Configu
- 未能加载文件或程序集“Newtonsoft.Json, Version=4.5.0.0,
- c – 我可以在STL的地图中使用矢量吗?