回答
Rails的方式與ActiveRecord的驗證Rails中3:
@ip_regex = /^([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$/
validates :gateway,
:presence => true,
:uniqueness => true,
:format => { :with => @ip_regex }
良好的資源這裏:http://my.rails-royce.org/2010/07/21/email-validation-in-ruby-on-rails-without-regexp/
我不知道RoR很多,但如果你沒有找到任何內置的驗證IP地址的方法。
試試這正則表達式:
"^([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\.([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$"
來驗證IP地址。
我最近在一個模塊中使用它,所以它在桌面上。
您應該使用Regular Expression
這裏是一個你想要做什麼:
/^([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])(\.
([0-9]|[1-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])){3}$/.match("#{@systemIP}")
只是想添加instea在一個Resolv::IPv4::Regex
require 'resolv'
validates :gateway, :presence => true, :uniqueness => true,
:format => { :with => Resolv::IPv4::Regex }
不知道他們何時添加了此功能,但這非常容易 – Dex 2012-09-27 01:08:46
是的,這是相當容易的。 @Dex至少在ruby中已經出現1.9.2 – WarmWaffles 2012-10-05 04:43:23
我可以確認[它是在Ruby 1.8.7中](http://ruby-doc.org/stdlib-1.8.7/libdoc/resolv/rdoc/Resolv/IPv4 .html) – dukedave 2012-11-14 16:20:20
編寫自己的模式,你可以使用構建d您可以使用Resolv::IPv4::Regex
傑克下文提到的,如果你不需要接受子網。
如果您需要接受它,activemodel-ipaddr_validator寶石可能會幫助你。 (免責聲明:我是寶石的作者)
validates :your_attr, ipaddr: true
運作良好。也許值得加入免責聲明,這是_your_寶石。 – Shadwell 2017-02-17 10:28:35
您還可以使用Regexy::Web::IPv4可匹配端口號的IP地址了。
您也可以只調用標準的庫IPAddr.new
,它將分析子網,IPV6等涼的東西:(IPAddr),並返回nil
如果格式是錯誤的。
只要做到:
valid = !(IPAddr.new('192.168.2.0/24') rescue nil).nil?
#=> true
valid = !(IPAddr.new('192.168.2.256') rescue nil).nil?
#=> false
- 1. Rails 3驗證URL或IP地址
- 2. Rails的驗證字符串URL「安全」
- 3. Rails:驗證包含字符串
- 4. 驗證字符串
- 5. 驗證字符串
- 6. Rails 3中的字符串串聯3
- 7. Rails驗證使用正則表達式驗證字符串?
- 8. Rails 3:form_tag驗證
- 9. Rails 3 link_to字符串
- 10. 字符串字母驗證
- 11. PHP驗證和驗證字符串
- 12. 更改文字驗證的Rails 3
- 13. Rails(3)非ActiveRecord字段的驗證
- 14. Rails 3對一組字段的驗證
- 15. PHP字符串驗證
- 16. 驗證Facebook DateTime字符串
- 17. 字符串索引驗證
- 18. 驗證日期字符串
- 19. 驗證查詢字符串?
- 20. Javascript字符串驗證
- 21. MVC3字符串驗證
- 22. 驗證輸入字符串
- 23. 驗證字符串格式
- 24. C#字符串驗證
- 25. Java:驗證字符串
- 26. RegEx字符串驗證器
- 27. 從字符串驗證Uri
- 28. 驗證字符串輸入
- 29. Jing Relaxng驗證字符串
- 30. 字符串驗證ActionScript
我這裏指的IP4。 – Dex 2010-09-20 23:13:46